--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / public / assets / js / codec2-emscripten / sox.js
Displaying Raw • Download
meshchatx/src/frontend/public/assets/js/codec2-emscripten/sox.js b05bf1bb17d25237fd1ce1d54e2aaf9536d0c506 (b05bf1bb) Text, 249.46 KB
Tff7b72var Te6edf3SOXModule Tff7b72= Tb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3_scriptDir Tff7b72= Tff7b72typeof Tffa657document Tff7b72!== Ta5d6ff"undefined" Tff7b72&& Tffa657documentTb4b4b4.Te6edf3currentScript Tff7b72? Tffa657documentTb4b4b4.Te6edf3currentScriptTb4b4b4.Te6edf3src Tff7b72: Tff7b72undefinedTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3__filename Tff7b72!== Ta5d6ff"undefined"Tb4b4b4) Te6edf3_scriptDir Tff7b72= Te6edf3_scriptDir Tff7b72|| Te6edf3__filenameTb4b4b4;
Tff7b72return Tff7b72function Tb4b4b4(Te6edf3SOXModuleTb4b4b4) Tb4b4b4{
Te6edf3SOXModule Tff7b72= Te6edf3SOXModule Tff7b72|| Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tb4b4b4(Ta5d6ff"use strict"Tb4b4b4)Tb4b4b4;
T8b949e// The Module object: Our interface to the outside world. We import
T8b949e// and export values on it. There are various ways Module can be used:
T8b949e// 1. Not defined. We create it here
T8b949e// 2. A function parameter, function(Module) { ..generated code.. }
T8b949e// 3. pre-run appended it, var Module = {}; ..generated code..
T8b949e// 4. External script tag defines var Module.
T8b949e// We need to check if Module already exists (e.g. case 3 above).
T8b949e// Substitution will be replaced with actual code on later stage of the build,
T8b949e// this way Closure Compiler will not mangle it (e.g. case 4. above).
T8b949e// Note that if you want to run closure, and also to use Module
T8b949e// after the generated code, you will need to define var Module = {};
T8b949e// before the code. Then that object will be used in the code, and you
T8b949e// can continue to use Module afterwards as well.
Tff7b72var Te6edf3Module Tff7b72= Tff7b72typeof Te6edf3SOXModule Tff7b72!= Ta5d6ff"undefined" Tff7b72? Te6edf3SOXModule Tff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4;
T8b949e// See https://caniuse.com/mdn-javascript_builtins_object_assign
T8b949e// See https://caniuse.com/mdn-javascript_builtins_bigint64array
T8b949e// Set up the promise that indicates the Module is initialized
Tff7b72var Te6edf3readyPromiseResolveTb4b4b4, Te6edf3readyPromiseRejectTb4b4b4;
Te6edf3ModuleTb4b4b4[Ta5d6ff"ready"Tb4b4b4] Tff7b72= Tff7b72new Tffa657PromiseTb4b4b4(Tff7b72function Tb4b4b4(Te6edf3resolveTb4b4b4, Te6edf3rejectTb4b4b4) Tb4b4b4{
Te6edf3readyPromiseResolve Tff7b72= Te6edf3resolveTb4b4b4;
Te6edf3readyPromiseReject Tff7b72= Te6edf3rejectTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4[Ta5d6ff"_main"Tb4b4b4, Ta5d6ff"_fflush"Tb4b4b4, Ta5d6ff"onRuntimeInitialized"Tb4b4b4]Tb4b4b4.Te6edf3forEachTb4b4b4(Tb4b4b4(Te6edf3propTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tffa657ObjectTb4b4b4.Te6edf3getOwnPropertyDescriptorTb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"ready"Tb4b4b4]Tb4b4b4, Te6edf3propTb4b4b4)Tb4b4b4) Tb4b4b4{
Tffa657ObjectTb4b4b4.Te6edf3definePropertyTb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"ready"Tb4b4b4]Tb4b4b4, Te6edf3propTb4b4b4, Tb4b4b4{
Te6edf3getTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=>
Te6edf3abortTb4b4b4(
Ta5d6ff"You are getting " Tff7b72+
Te6edf3prop Tff7b72+
Ta5d6ff" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"
Tb4b4b4)Tb4b4b4,
Te6edf3setTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=>
Te6edf3abortTb4b4b4(
Ta5d6ff"You are setting " Tff7b72+
Te6edf3prop Tff7b72+
Ta5d6ff" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"
Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e// --pre-jses are emitted after the Module integration code, so that they can
T8b949e// refer to Module (if they choose; they can also define Module)
T8b949e// {{PRE_JSES}}
T8b949e// Sometimes an existing Module object exists with properties
T8b949e// meant to overwrite the default module functionality. Here
T8b949e// we collect those properties and reapply _after_ we configure
T8b949e// the current environment's defaults to avoid having to be so
T8b949e// defensive during initialization.
Tff7b72var Te6edf3moduleOverrides Tff7b72= Tffa657ObjectTb4b4b4.Te6edf3assignTb4b4b4(Tb4b4b4{Tb4b4b4}Tb4b4b4, Te6edf3ModuleTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3arguments_ Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72var Te6edf3thisProgram Tff7b72= Ta5d6ff"./this.program"Tb4b4b4;
Tff7b72var Te6edf3quit_ Tff7b72= Tb4b4b4(Te6edf3statusTb4b4b4, Te6edf3toThrowTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72throw Te6edf3toThrowTb4b4b4;
Tb4b4b4}Tb4b4b4;
T8b949e// Determine the runtime environment we are in. You can customize this by
T8b949e// setting the ENVIRONMENT setting at compile time (see settings.js).
T8b949e// Attempt to auto-detect the environment
Tff7b72var Te6edf3ENVIRONMENT_IS_WEB Tff7b72= Tff7b72typeof Tffa657window Tff7b72== Ta5d6ff"object"Tb4b4b4;
Tff7b72var Te6edf3ENVIRONMENT_IS_WORKER Tff7b72= Tff7b72typeof Te6edf3importScripts Tff7b72== Ta5d6ff"function"Tb4b4b4;
T8b949e// N.b. Electron.js environment is simultaneously a NODE-environment, but
T8b949e// also a web environment.
Tff7b72var Te6edf3ENVIRONMENT_IS_NODE Tff7b72=
Tff7b72typeof Te6edf3process Tff7b72== Ta5d6ff"object" Tff7b72&&
Tff7b72typeof Te6edf3processTb4b4b4.Te6edf3versions Tff7b72== Ta5d6ff"object" Tff7b72&&
Tff7b72typeof Te6edf3processTb4b4b4.Te6edf3versionsTb4b4b4.Te6edf3node Tff7b72== Ta5d6ff"string"Tb4b4b4;
Tff7b72var Te6edf3ENVIRONMENT_IS_SHELL Tff7b72= Tff7b72!Te6edf3ENVIRONMENT_IS_WEB Tff7b72&& Tff7b72!Te6edf3ENVIRONMENT_IS_NODE Tff7b72&& Tff7b72!Te6edf3ENVIRONMENT_IS_WORKERTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"ENVIRONMENT"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(
Ta5d6ff"Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)"
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// `/` should be present at the end if `scriptDirectory` is not empty
Tff7b72var Te6edf3scriptDirectory Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72function Te6edf3locateFileTb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"locateFile"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3ModuleTb4b4b4[Ta5d6ff"locateFile"Tb4b4b4]Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3scriptDirectoryTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3scriptDirectory Tff7b72+ Te6edf3pathTb4b4b4;
Tb4b4b4}
T8b949e// Hooks that are implemented differently in different runtime environments.
Tff7b72var Te6edf3read_Tb4b4b4, Te6edf3readAsyncTb4b4b4, Te6edf3readBinaryTb4b4b4, Te6edf3setWindowTitleTb4b4b4;
T8b949e// Normally we don't log exceptions but instead let them bubble out the top
T8b949e// level where the embedding environment (e.g. the browser) can handle
T8b949e// them.
T8b949e// However under v8 and node we sometimes exit the process direcly in which case
T8b949e// its up to use us to log the exception before exiting.
T8b949e// If we fix https://github.com/emscripten-core/emscripten/issues/15080
T8b949e// this may no longer be needed under node.
Tff7b72function Te6edf3logExceptionOnExitTb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3ExitStatusTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72let Te6edf3toLog Tff7b72= Te6edf3eTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3e Tff7b72&& Tff7b72typeof Te6edf3e Tff7b72== Ta5d6ff"object" Tff7b72&& Te6edf3eTb4b4b4.Te6edf3stackTb4b4b4) Tb4b4b4{
Te6edf3toLog Tff7b72= Tb4b4b4[Te6edf3eTb4b4b4, Te6edf3eTb4b4b4.Te6edf3stackTb4b4b4]Tb4b4b4;
Tb4b4b4}
Te6edf3errTb4b4b4(Ta5d6ff"exiting due to exception: " Tff7b72+ Te6edf3toLogTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3ENVIRONMENT_IS_NODETb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3process Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Te6edf3processTb4b4b4.Te6edf3release Tff7b72|| Te6edf3processTb4b4b4.Te6edf3releaseTb4b4b4.Te6edf3name Tff7b72!== Ta5d6ff"node"Tb4b4b4)
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(
Ta5d6ff"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)"
Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ENVIRONMENT_IS_WORKERTb4b4b4) Tb4b4b4{
Te6edf3scriptDirectory Tff7b72= Te6edf3requireTb4b4b4(Ta5d6ff"path"Tb4b4b4)Tb4b4b4.Te6edf3dirnameTb4b4b4(Te6edf3scriptDirectoryTb4b4b4) Tff7b72+ Ta5d6ff"/"Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3scriptDirectory Tff7b72= Te6edf3__dirname Tff7b72+ Ta5d6ff"/"Tb4b4b4;
Tb4b4b4}
T8b949e// include: node_shell_read.js
T8b949e// These modules will usually be used on Node.js. Load them eagerly to avoid
T8b949e// the complexity of lazy-loading. However, for now we must guard on require()
T8b949e// actually existing: if the JS is put in a .mjs file (ES6 module) and run on
T8b949e// node, then we'll detect node as the environment and get here, but require()
T8b949e// does not exist (since ES6 modules should use |import|). If the code actually
T8b949e// uses the node filesystem then it will crash, of course, but in the case of
T8b949e// code that never uses it we don't want to crash here, so the guarding if lets
T8b949e// such code work properly. See discussion in
T8b949e// https://github.com/emscripten-core/emscripten/pull/17851
Tff7b72var Te6edf3fsTb4b4b4, Te6edf3nodePathTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3require Tff7b72=== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
Te6edf3fs Tff7b72= Te6edf3requireTb4b4b4(Ta5d6ff"fs"Tb4b4b4)Tb4b4b4;
Te6edf3nodePath Tff7b72= Te6edf3requireTb4b4b4(Ta5d6ff"path"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3read_ Tff7b72= Tb4b4b4(Te6edf3filenameTb4b4b4, Te6edf3binaryTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3filename Tff7b72= Te6edf3nodePathTb4b4b4[Ta5d6ff"normalize"Tb4b4b4]Tb4b4b4(Te6edf3filenameTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3fsTb4b4b4.Te6edf3readFileSyncTb4b4b4(Te6edf3filenameTb4b4b4, Te6edf3binary Tff7b72? Tff7b72undefined Tff7b72: Ta5d6ff"utf8"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3readBinary Tff7b72= Tb4b4b4(Te6edf3filenameTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3ret Tff7b72= Te6edf3read_Tb4b4b4(Te6edf3filenameTb4b4b4, Tff7b72trueTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3retTb4b4b4.Te6edf3bufferTb4b4b4) Tb4b4b4{
Te6edf3ret Tff7b72= Tff7b72new Tffa657Uint8ArrayTb4b4b4(Te6edf3retTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3assertTb4b4b4(Te6edf3retTb4b4b4.Te6edf3bufferTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3retTb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3readAsync Tff7b72= Tb4b4b4(Te6edf3filenameTb4b4b4, Te6edf3onloadTb4b4b4, Te6edf3onerrorTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3filename Tff7b72= Te6edf3nodePathTb4b4b4[Ta5d6ff"normalize"Tb4b4b4]Tb4b4b4(Te6edf3filenameTb4b4b4)Tb4b4b4;
Te6edf3fsTb4b4b4.Te6edf3readFileTb4b4b4(Te6edf3filenameTb4b4b4, Tff7b72function Tb4b4b4(Te6edf3errTb4b4b4, Te6edf3dataTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3errTb4b4b4) Te6edf3onerrorTb4b4b4(Te6edf3errTb4b4b4)Tb4b4b4;
Tff7b72else Te6edf3onloadTb4b4b4(Te6edf3dataTb4b4b4.Te6edf3bufferTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
T8b949e// end include: node_shell_read.js
Tff7b72if Tb4b4b4(Te6edf3processTb4b4b4[Ta5d6ff"argv"Tb4b4b4]Tb4b4b4.Te6edf3length Tff7b72> T79c0ff1Tb4b4b4) Tb4b4b4{
Te6edf3thisProgram Tff7b72= Te6edf3processTb4b4b4[Ta5d6ff"argv"Tb4b4b4]Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/\\/gTb4b4b4, Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3arguments_ Tff7b72= Te6edf3processTb4b4b4[Ta5d6ff"argv"Tb4b4b4]Tb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
T8b949e// MODULARIZE will export the module in the proper place outside, we don't need to export here
Te6edf3processTb4b4b4[Ta5d6ff"on"Tb4b4b4]Tb4b4b4(Ta5d6ff"uncaughtException"Tb4b4b4, Tff7b72function Tb4b4b4(Te6edf3exTb4b4b4) Tb4b4b4{
T8b949e// suppress ExitStatus exceptions from showing an error
Tff7b72if Tb4b4b4(Tff7b72!Tb4b4b4(Te6edf3ex Tff7b72instanceof Te6edf3ExitStatusTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Te6edf3exTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e// Without this older versions of node (< v15) will log unhandled rejections
T8b949e// but return 0, which is not normally the desired behaviour. This is
T8b949e// not be needed with node v15 and about because it is now the default
T8b949e// behaviour:
T8b949e// See https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode
Te6edf3processTb4b4b4[Ta5d6ff"on"Tb4b4b4]Tb4b4b4(Ta5d6ff"unhandledRejection"Tb4b4b4, Tff7b72function Tb4b4b4(Te6edf3reasonTb4b4b4) Tb4b4b4{
Tff7b72throw Te6edf3reasonTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3quit_ Tff7b72= Tb4b4b4(Te6edf3statusTb4b4b4, Te6edf3toThrowTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3keepRuntimeAliveTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3processTb4b4b4[Ta5d6ff"exitCode"Tb4b4b4] Tff7b72= Te6edf3statusTb4b4b4;
Tff7b72throw Te6edf3toThrowTb4b4b4;
Tb4b4b4}
Te6edf3logExceptionOnExitTb4b4b4(Te6edf3toThrowTb4b4b4)Tb4b4b4;
Te6edf3processTb4b4b4[Ta5d6ff"exit"Tb4b4b4]Tb4b4b4(Te6edf3statusTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3ModuleTb4b4b4[Ta5d6ff"inspect"Tb4b4b4] Tff7b72= Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"[Emscripten Module object]"Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3ENVIRONMENT_IS_SHELLTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(
Tb4b4b4(Tff7b72typeof Te6edf3process Tff7b72== Ta5d6ff"object" Tff7b72&& Tff7b72typeof Te6edf3require Tff7b72=== Ta5d6ff"function"Tb4b4b4) Tff7b72||
Tff7b72typeof Tffa657window Tff7b72== Ta5d6ff"object" Tff7b72||
Tff7b72typeof Te6edf3importScripts Tff7b72== Ta5d6ff"function"
Tb4b4b4)
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(
Ta5d6ff"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)"
Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3read Tff7b72!= Ta5d6ff"undefined"Tb4b4b4) Tb4b4b4{
Te6edf3read_ Tff7b72= Tff7b72function Te6edf3shell_readTb4b4b4(Te6edf3fTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3readTb4b4b4(Te6edf3fTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}
Te6edf3readBinary Tff7b72= Tff7b72function Te6edf3readBinaryTb4b4b4(Te6edf3fTb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3dataTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3readbuffer Tff7b72== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72new Tffa657Uint8ArrayTb4b4b4(Te6edf3readbufferTb4b4b4(Te6edf3fTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3data Tff7b72= Te6edf3readTb4b4b4(Te6edf3fTb4b4b4, Ta5d6ff"binary"Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(Tff7b72typeof Te6edf3data Tff7b72== Ta5d6ff"object"Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3dataTb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3readAsync Tff7b72= Tff7b72function Te6edf3readAsyncTb4b4b4(Te6edf3fTb4b4b4, Te6edf3onloadTb4b4b4, Te6edf3onerrorTb4b4b4) Tb4b4b4{
Te6edf3setTimeoutTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3onloadTb4b4b4(Te6edf3readBinaryTb4b4b4(Te6edf3fTb4b4b4)Tb4b4b4)Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3scriptArgs Tff7b72!= Ta5d6ff"undefined"Tb4b4b4) Tb4b4b4{
Te6edf3arguments_ Tff7b72= Te6edf3scriptArgsTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3arguments Tff7b72!= Ta5d6ff"undefined"Tb4b4b4) Tb4b4b4{
Te6edf3arguments_ Tff7b72= Te6edf3argumentsTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3quit Tff7b72== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
Te6edf3quit_ Tff7b72= Tb4b4b4(Te6edf3statusTb4b4b4, Te6edf3toThrowTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3logExceptionOnExitTb4b4b4(Te6edf3toThrowTb4b4b4)Tb4b4b4;
Te6edf3quitTb4b4b4(Te6edf3statusTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3print Tff7b72!= Ta5d6ff"undefined"Tb4b4b4) Tb4b4b4{
T8b949e// Prefer to use print/printErr where they exist, as they usually work better.
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3console Tff7b72== Ta5d6ff"undefined"Tb4b4b4) Te6edf3console Tff7b72= T8b949e/** @type{!Console} */ Tb4b4b4(Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3log Tff7b72= T8b949e/** @type{!function(this:Console, ...*): undefined} */ Tb4b4b4(Te6edf3printTb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3warn Tff7b72= Te6edf3consoleTb4b4b4.Te6edf3error Tff7b72= T8b949e/** @type{!function(this:Console, ...*): undefined} */ Tb4b4b4(
Tff7b72typeof Te6edf3printErr Tff7b72!= Ta5d6ff"undefined" Tff7b72? Te6edf3printErr Tff7b72: Te6edf3print
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3ENVIRONMENT_IS_WEB Tff7b72|| Te6edf3ENVIRONMENT_IS_WORKERTb4b4b4) Tb4b4b4{
T8b949e// Note that this includes Node.js workers when relevant (pthreads is enabled).
T8b949e// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and
T8b949e// ENVIRONMENT_IS_NODE.
Tff7b72if Tb4b4b4(Te6edf3ENVIRONMENT_IS_WORKERTb4b4b4) Tb4b4b4{
T8b949e// Check worker, not web, since window could be polyfilled
Te6edf3scriptDirectory Tff7b72= Te6edf3selfTb4b4b4.Te6edf3locationTb4b4b4.Te6edf3hrefTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Tff7b72typeof Tffa657document Tff7b72!= Ta5d6ff"undefined" Tff7b72&& Tffa657documentTb4b4b4.Te6edf3currentScriptTb4b4b4) Tb4b4b4{
T8b949e// web
Te6edf3scriptDirectory Tff7b72= Tffa657documentTb4b4b4.Te6edf3currentScriptTb4b4b4.Te6edf3srcTb4b4b4;
Tb4b4b4}
T8b949e// When MODULARIZE, this JS may be executed later, after document.currentScript
T8b949e// is gone, so we saved it, and we use it here instead of any other info.
Tff7b72if Tb4b4b4(Te6edf3_scriptDirTb4b4b4) Tb4b4b4{
Te6edf3scriptDirectory Tff7b72= Te6edf3_scriptDirTb4b4b4;
Tb4b4b4}
T8b949e// blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them.
T8b949e// otherwise, slice off the final part of the url to find the script directory.
T8b949e// if scriptDirectory does not contain a slash, lastIndexOf will return -1,
T8b949e// and scriptDirectory will correctly be replaced with an empty string.
T8b949e// If scriptDirectory contains a query (starting with ?) or a fragment (starting with #),
T8b949e// they are removed because they could contain a slash.
Tff7b72if Tb4b4b4(Te6edf3scriptDirectoryTb4b4b4.Te6edf3indexOfTb4b4b4(Ta5d6ff"blob:"Tb4b4b4) Tff7b72!== T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3scriptDirectory Tff7b72= Te6edf3scriptDirectoryTb4b4b4.Te6edf3substrTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3scriptDirectoryTb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/[?#].*/Tb4b4b4, Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3lastIndexOfTb4b4b4(Ta5d6ff"/"Tb4b4b4) Tff7b72+ T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3scriptDirectory Tff7b72= Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Tb4b4b4(Tff7b72typeof Tffa657window Tff7b72== Ta5d6ff"object" Tff7b72|| Tff7b72typeof Te6edf3importScripts Tff7b72== Ta5d6ff"function"Tb4b4b4)Tb4b4b4)
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(
Ta5d6ff"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)"
Tb4b4b4)Tb4b4b4;
T8b949e// Differentiate the Web Worker from the Node Worker case, as reading must
T8b949e// be done differently.
Tb4b4b4{
T8b949e// include: web_or_worker_shell_read.js
Te6edf3read_ Tff7b72= Tb4b4b4(Te6edf3urlTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3xhr Tff7b72= Tff7b72new Te6edf3XMLHttpRequestTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3xhrTb4b4b4.Te6edf3openTb4b4b4(Ta5d6ff"GET"Tb4b4b4, Te6edf3urlTb4b4b4, Tff7b72falseTb4b4b4)Tb4b4b4;
Te6edf3xhrTb4b4b4.Te6edf3sendTb4b4b4(Tff7b72nullTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3xhrTb4b4b4.Te6edf3responseTextTb4b4b4;
Tb4b4b4}Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ENVIRONMENT_IS_WORKERTb4b4b4) Tb4b4b4{
Te6edf3readBinary Tff7b72= Tb4b4b4(Te6edf3urlTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3xhr Tff7b72= Tff7b72new Te6edf3XMLHttpRequestTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3xhrTb4b4b4.Te6edf3openTb4b4b4(Ta5d6ff"GET"Tb4b4b4, Te6edf3urlTb4b4b4, Tff7b72falseTb4b4b4)Tb4b4b4;
Te6edf3xhrTb4b4b4.Te6edf3responseType Tff7b72= Ta5d6ff"arraybuffer"Tb4b4b4;
Te6edf3xhrTb4b4b4.Te6edf3sendTb4b4b4(Tff7b72nullTb4b4b4)Tb4b4b4;
Tff7b72return Tff7b72new Tffa657Uint8ArrayTb4b4b4(T8b949e/** @type{!ArrayBuffer} */ Tb4b4b4(Te6edf3xhrTb4b4b4.Te6edf3responseTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}
Te6edf3readAsync Tff7b72= Tb4b4b4(Te6edf3urlTb4b4b4, Te6edf3onloadTb4b4b4, Te6edf3onerrorTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3xhr Tff7b72= Tff7b72new Te6edf3XMLHttpRequestTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3xhrTb4b4b4.Te6edf3openTb4b4b4(Ta5d6ff"GET"Tb4b4b4, Te6edf3urlTb4b4b4, Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3xhrTb4b4b4.Te6edf3responseType Tff7b72= Ta5d6ff"arraybuffer"Tb4b4b4;
Te6edf3xhrTb4b4b4.Te6edf3onload Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3xhrTb4b4b4.Te6edf3status Tff7b72== T79c0ff200 Tff7b72|| Tb4b4b4(Te6edf3xhrTb4b4b4.Te6edf3status Tff7b72== T79c0ff0 Tff7b72&& Te6edf3xhrTb4b4b4.Te6edf3responseTb4b4b4)Tb4b4b4) Tb4b4b4{
T8b949e// file URLs can return 0
Te6edf3onloadTb4b4b4(Te6edf3xhrTb4b4b4.Te6edf3responseTb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3onerrorTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3xhrTb4b4b4.Te6edf3onerror Tff7b72= Te6edf3onerrorTb4b4b4;
Te6edf3xhrTb4b4b4.Te6edf3sendTb4b4b4(Tff7b72nullTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
T8b949e// end include: web_or_worker_shell_read.js
Tb4b4b4}
Te6edf3setWindowTitle Tff7b72= Tb4b4b4(Te6edf3titleTb4b4b4) Tb4b4b4=> Tb4b4b4(Tffa657documentTb4b4b4.Te6edf3title Tff7b72= Te6edf3titleTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(Ta5d6ff"environment detection error"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3out Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"print"Tb4b4b4] Tff7b72|| Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4.Te6edf3bindTb4b4b4(Te6edf3consoleTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3err Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"printErr"Tb4b4b4] Tff7b72|| Te6edf3consoleTb4b4b4.Te6edf3warnTb4b4b4.Te6edf3bindTb4b4b4(Te6edf3consoleTb4b4b4)Tb4b4b4;
T8b949e// Merge back in the overrides
Tffa657ObjectTb4b4b4.Te6edf3assignTb4b4b4(Te6edf3ModuleTb4b4b4, Te6edf3moduleOverridesTb4b4b4)Tb4b4b4;
T8b949e// Free the object hierarchy contained in the overrides, this lets the GC
T8b949e// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array.
Te6edf3moduleOverrides Tff7b72= Tff7b72nullTb4b4b4;
Te6edf3checkIncomingModuleAPITb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// Emit code to handle expected values on the Module object. This applies Module.x
T8b949e// to the proper local x. This has two benefits: first, we only emit it if it is
T8b949e// expected to arrive, and second, by using a local everywhere else that can be
T8b949e// minified.
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"arguments"Tb4b4b4]Tb4b4b4) Te6edf3arguments_ Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"arguments"Tb4b4b4]Tb4b4b4;
Te6edf3legacyModulePropTb4b4b4(Ta5d6ff"arguments"Tb4b4b4, Ta5d6ff"arguments_"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"thisProgram"Tb4b4b4]Tb4b4b4) Te6edf3thisProgram Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"thisProgram"Tb4b4b4]Tb4b4b4;
Te6edf3legacyModulePropTb4b4b4(Ta5d6ff"thisProgram"Tb4b4b4, Ta5d6ff"thisProgram"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"quit"Tb4b4b4]Tb4b4b4) Te6edf3quit_ Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"quit"Tb4b4b4]Tb4b4b4;
Te6edf3legacyModulePropTb4b4b4(Ta5d6ff"quit"Tb4b4b4, Ta5d6ff"quit_"Tb4b4b4)Tb4b4b4;
T8b949e// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message
T8b949e// Assertions on removed incoming Module JS APIs.
Te6edf3assertTb4b4b4(
Tff7b72typeof Te6edf3ModuleTb4b4b4[Ta5d6ff"memoryInitializerPrefixURL"Tb4b4b4] Tff7b72== Ta5d6ff"undefined"Tb4b4b4,
Ta5d6ff"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"
Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(
Tff7b72typeof Te6edf3ModuleTb4b4b4[Ta5d6ff"pthreadMainPrefixURL"Tb4b4b4] Tff7b72== Ta5d6ff"undefined"Tb4b4b4,
Ta5d6ff"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"
Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(
Tff7b72typeof Te6edf3ModuleTb4b4b4[Ta5d6ff"cdInitializerPrefixURL"Tb4b4b4] Tff7b72== Ta5d6ff"undefined"Tb4b4b4,
Ta5d6ff"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"
Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(
Tff7b72typeof Te6edf3ModuleTb4b4b4[Ta5d6ff"filePackagePrefixURL"Tb4b4b4] Tff7b72== Ta5d6ff"undefined"Tb4b4b4,
Ta5d6ff"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"
Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(Tff7b72typeof Te6edf3ModuleTb4b4b4[Ta5d6ff"read"Tb4b4b4] Tff7b72== Ta5d6ff"undefined"Tb4b4b4, Ta5d6ff"Module.read option was removed (modify read_ in JS)"Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(
Tff7b72typeof Te6edf3ModuleTb4b4b4[Ta5d6ff"readAsync"Tb4b4b4] Tff7b72== Ta5d6ff"undefined"Tb4b4b4,
Ta5d6ff"Module.readAsync option was removed (modify readAsync in JS)"
Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(
Tff7b72typeof Te6edf3ModuleTb4b4b4[Ta5d6ff"readBinary"Tb4b4b4] Tff7b72== Ta5d6ff"undefined"Tb4b4b4,
Ta5d6ff"Module.readBinary option was removed (modify readBinary in JS)"
Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(
Tff7b72typeof Te6edf3ModuleTb4b4b4[Ta5d6ff"setWindowTitle"Tb4b4b4] Tff7b72== Ta5d6ff"undefined"Tb4b4b4,
Ta5d6ff"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"
Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(
Tff7b72typeof Te6edf3ModuleTb4b4b4[Ta5d6ff"TOTAL_MEMORY"Tb4b4b4] Tff7b72== Ta5d6ff"undefined"Tb4b4b4,
Ta5d6ff"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"
Tb4b4b4)Tb4b4b4;
Te6edf3legacyModulePropTb4b4b4(Ta5d6ff"read"Tb4b4b4, Ta5d6ff"read_"Tb4b4b4)Tb4b4b4;
Te6edf3legacyModulePropTb4b4b4(Ta5d6ff"readAsync"Tb4b4b4, Ta5d6ff"readAsync"Tb4b4b4)Tb4b4b4;
Te6edf3legacyModulePropTb4b4b4(Ta5d6ff"readBinary"Tb4b4b4, Ta5d6ff"readBinary"Tb4b4b4)Tb4b4b4;
Te6edf3legacyModulePropTb4b4b4(Ta5d6ff"setWindowTitle"Tb4b4b4, Ta5d6ff"setWindowTitle"Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3IDBFS Tff7b72= Ta5d6ff"IDBFS is no longer included by default; build with -lidbfs.js"Tb4b4b4;
Tff7b72var Te6edf3PROXYFS Tff7b72= Ta5d6ff"PROXYFS is no longer included by default; build with -lproxyfs.js"Tb4b4b4;
Tff7b72var Te6edf3WORKERFS Tff7b72= Ta5d6ff"WORKERFS is no longer included by default; build with -lworkerfs.js"Tb4b4b4;
Tff7b72var Te6edf3NODEFS Tff7b72= Ta5d6ff"NODEFS is no longer included by default; build with -lnodefs.js"Tb4b4b4;
Te6edf3assertTb4b4b4(
Tff7b72!Te6edf3ENVIRONMENT_IS_SHELLTb4b4b4,
Ta5d6ff"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable."
Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3STACK_ALIGN Tff7b72= T79c0ff16Tb4b4b4;
Tff7b72var Te6edf3POINTER_SIZE Tff7b72= T79c0ff4Tb4b4b4;
Tff7b72function Te6edf3getNativeTypeSizeTb4b4b4(Te6edf3typeTb4b4b4) Tb4b4b4{
Tff7b72switch Tb4b4b4(Te6edf3typeTb4b4b4) Tb4b4b4{
Tff7b72case Ta5d6ff"i1"Tff7b72:
Tff7b72case Ta5d6ff"i8"Tff7b72:
Tff7b72case Ta5d6ff"u8"Tff7b72:
Tff7b72return T79c0ff1Tb4b4b4;
Tff7b72case Ta5d6ff"i16"Tff7b72:
Tff7b72case Ta5d6ff"u16"Tff7b72:
Tff7b72return T79c0ff2Tb4b4b4;
Tff7b72case Ta5d6ff"i32"Tff7b72:
Tff7b72case Ta5d6ff"u32"Tff7b72:
Tff7b72return T79c0ff4Tb4b4b4;
Tff7b72case Ta5d6ff"i64"Tff7b72:
Tff7b72case Ta5d6ff"u64"Tff7b72:
Tff7b72return T79c0ff8Tb4b4b4;
Tff7b72case Ta5d6ff"float"Tff7b72:
Tff7b72return T79c0ff4Tb4b4b4;
Tff7b72case Ta5d6ff"double"Tff7b72:
Tff7b72return T79c0ff8Tb4b4b4;
Tff7b72defaultTff7b72: Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3typeTb4b4b4[Te6edf3typeTb4b4b4.Te6edf3length Tff7b72- T79c0ff1Tb4b4b4] Tff7b72=== Ta5d6ff"*"Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3POINTER_SIZETb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3typeTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72=== Ta5d6ff"i"Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3bits Tff7b72= Tffa657NumberTb4b4b4(Te6edf3typeTb4b4b4.Te6edf3substrTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(Te6edf3bits Tff7b72% T79c0ff8 Tff7b72=== T79c0ff0Tb4b4b4, Ta5d6ff"getNativeTypeSize invalid bits " Tff7b72+ Te6edf3bits Tff7b72+ Ta5d6ff", type " Tff7b72+ Te6edf3typeTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3bits Tff7b72/ T79c0ff8Tb4b4b4;
Tb4b4b4}
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
T8b949e// include: runtime_debug.js
Tff7b72function Te6edf3legacyModulePropTb4b4b4(Te6edf3propTb4b4b4, Te6edf3newNameTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tffa657ObjectTb4b4b4.Te6edf3getOwnPropertyDescriptorTb4b4b4(Te6edf3ModuleTb4b4b4, Te6edf3propTb4b4b4)Tb4b4b4) Tb4b4b4{
Tffa657ObjectTb4b4b4.Te6edf3definePropertyTb4b4b4(Te6edf3ModuleTb4b4b4, Te6edf3propTb4b4b4, Tb4b4b4{
Te6edf3configurableTff7b72: Tff7b72trueTb4b4b4,
Te6edf3getTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3abortTb4b4b4(
Ta5d6ff"Module." Tff7b72+
Te6edf3prop Tff7b72+
Ta5d6ff" has been replaced with plain " Tff7b72+
Te6edf3newName Tff7b72+
Ta5d6ff" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)"
Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3ignoredModulePropTb4b4b4(Te6edf3propTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tffa657ObjectTb4b4b4.Te6edf3getOwnPropertyDescriptorTb4b4b4(Te6edf3ModuleTb4b4b4, Te6edf3propTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3abortTb4b4b4(Ta5d6ff"`Module." Tff7b72+ Te6edf3prop Tff7b72+ Ta5d6ff"` was supplied but `" Tff7b72+ Te6edf3prop Tff7b72+ Ta5d6ff"` not included in INCOMING_MODULE_JS_API"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// forcing the filesystem exports a few things by default
Tff7b72function Te6edf3isExportedByForceFilesystemTb4b4b4(Te6edf3nameTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(
Te6edf3name Tff7b72=== Ta5d6ff"FS_createPath" Tff7b72||
Te6edf3name Tff7b72=== Ta5d6ff"FS_createDataFile" Tff7b72||
Te6edf3name Tff7b72=== Ta5d6ff"FS_createPreloadedFile" Tff7b72||
Te6edf3name Tff7b72=== Ta5d6ff"FS_unlink" Tff7b72||
Te6edf3name Tff7b72=== Ta5d6ff"addRunDependency" Tff7b72||
T8b949e// The old FS has some functionality that WasmFS lacks.
Te6edf3name Tff7b72=== Ta5d6ff"FS_createLazyFile" Tff7b72||
Te6edf3name Tff7b72=== Ta5d6ff"FS_createDevice" Tff7b72||
Te6edf3name Tff7b72=== Ta5d6ff"removeRunDependency"
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3missingLibrarySymbolTb4b4b4(Te6edf3symTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Tffa657globalThis Tff7b72!== Ta5d6ff"undefined" Tff7b72&& Tff7b72!Tffa657ObjectTb4b4b4.Te6edf3getOwnPropertyDescriptorTb4b4b4(Tffa657globalThisTb4b4b4, Te6edf3symTb4b4b4)Tb4b4b4) Tb4b4b4{
Tffa657ObjectTb4b4b4.Te6edf3definePropertyTb4b4b4(Tffa657globalThisTb4b4b4, Te6edf3symTb4b4b4, Tb4b4b4{
Te6edf3configurableTff7b72: Tff7b72trueTb4b4b4,
Te6edf3getTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// Can't `abort()` here because it would break code that does runtime
T8b949e// checks. e.g. `if (typeof SDL === 'undefined')`.
Tff7b72var Te6edf3msg Tff7b72=
Ta5d6ff"`" Tff7b72+
Te6edf3sym Tff7b72+
Ta5d6ff"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line"Tb4b4b4;
T8b949e// DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in
T8b949e// library.js, which means $name for a JS name with no prefix, or name
T8b949e// for a JS name like _name.
Tff7b72var Te6edf3librarySymbol Tff7b72= Te6edf3symTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3librarySymbolTb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"_"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3librarySymbol Tff7b72= Ta5d6ff"$" Tff7b72+ Te6edf3symTb4b4b4;
Tb4b4b4}
Te6edf3msg Tff7b72+= Ta5d6ff" (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE=" Tff7b72+ Te6edf3librarySymbol Tff7b72+ Ta5d6ff")"Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3isExportedByForceFilesystemTb4b4b4(Te6edf3symTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3msg Tff7b72+=
Ta5d6ff". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"Tb4b4b4;
Tb4b4b4}
Te6edf3warnOnceTb4b4b4(Te6edf3msgTb4b4b4)Tb4b4b4;
Tff7b72return Tff7b72undefinedTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3unexportedRuntimeSymbolTb4b4b4(Te6edf3symTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tffa657ObjectTb4b4b4.Te6edf3getOwnPropertyDescriptorTb4b4b4(Te6edf3ModuleTb4b4b4, Te6edf3symTb4b4b4)Tb4b4b4) Tb4b4b4{
Tffa657ObjectTb4b4b4.Te6edf3definePropertyTb4b4b4(Te6edf3ModuleTb4b4b4, Te6edf3symTb4b4b4, Tb4b4b4{
Te6edf3configurableTff7b72: Tff7b72trueTb4b4b4,
Te6edf3getTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3msg Tff7b72= Ta5d6ff"'" Tff7b72+ Te6edf3sym Tff7b72+ Ta5d6ff"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)"Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3isExportedByForceFilesystemTb4b4b4(Te6edf3symTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3msg Tff7b72+=
Ta5d6ff". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"Tb4b4b4;
Tb4b4b4}
Te6edf3abortTb4b4b4(Te6edf3msgTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// end include: runtime_debug.js
T8b949e// === Preamble library stuff ===
T8b949e// Documentation for the public APIs defined in this file must be updated in:
T8b949e// site/source/docs/api_reference/preamble.js.rst
T8b949e// A prebuilt local version of the documentation is available at:
T8b949e// site/build/text/docs/api_reference/preamble.js.txt
T8b949e// You can also build docs locally as HTML or other formats in site/
T8b949e// An online HTML version (which may be of a different version of Emscripten)
T8b949e// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
Tff7b72var Te6edf3wasmBinaryTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"wasmBinary"Tb4b4b4]Tb4b4b4) Te6edf3wasmBinary Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"wasmBinary"Tb4b4b4]Tb4b4b4;
Te6edf3legacyModulePropTb4b4b4(Ta5d6ff"wasmBinary"Tb4b4b4, Ta5d6ff"wasmBinary"Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3noExitRuntime Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"noExitRuntime"Tb4b4b4] Tff7b72|| Tff7b72trueTb4b4b4;
Te6edf3legacyModulePropTb4b4b4(Ta5d6ff"noExitRuntime"Tb4b4b4, Ta5d6ff"noExitRuntime"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3WebAssembly Tff7b72!= Ta5d6ff"object"Tb4b4b4) Tb4b4b4{
Te6edf3abortTb4b4b4(Ta5d6ff"no native wasm support detected"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// Wasm globals
Tff7b72var Te6edf3wasmMemoryTb4b4b4;
T8b949e//========================================
T8b949e// Runtime essentials
T8b949e//========================================
T8b949e// whether we are quitting the application. no code should run after this.
T8b949e// set in exit() and abort()
Tff7b72var Te6edf3ABORT Tff7b72= Tff7b72falseTb4b4b4;
T8b949e// set by exit() and abort(). Passed to 'onExit' handler.
T8b949e// NOTE: This is also used as the process return code code in shell environments
T8b949e// but only when noExitRuntime is false.
Tff7b72var Te6edf3EXITSTATUSTb4b4b4;
T8b949e/** @type {function(*, string=)} */
Tff7b72function Te6edf3assertTb4b4b4(Te6edf3conditionTb4b4b4, Te6edf3textTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3conditionTb4b4b4) Tb4b4b4{
Te6edf3abortTb4b4b4(Ta5d6ff"Assertion failed" Tff7b72+ Tb4b4b4(Te6edf3text Tff7b72? Ta5d6ff": " Tff7b72+ Te6edf3text Tff7b72: Ta5d6ff""Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// We used to include malloc/free by default in the past. Show a helpful error in
T8b949e// builds with assertions.
Tff7b72function Te6edf3_freeTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// Show a helpful error since we used to include free by default in the past.
Te6edf3abortTb4b4b4(Ta5d6ff"free() called but not included in the build - add '_free' to EXPORTED_FUNCTIONS"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// include: runtime_strings.js
T8b949e// runtime_strings.js: String related runtime functions that are part of both
T8b949e// MINIMAL_RUNTIME and regular runtime.
Tff7b72var Te6edf3UTF8Decoder Tff7b72= Tff7b72typeof Te6edf3TextDecoder Tff7b72!= Ta5d6ff"undefined" Tff7b72? Tff7b72new Te6edf3TextDecoderTb4b4b4(Ta5d6ff"utf8"Tb4b4b4) Tff7b72: Tff7b72undefinedTb4b4b4;
T8b949e/**
* Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given
* array that contains uint8 values, returns a copy of that string as a
* Javascript String object.
* heapOrArray is either a regular array, or a JavaScript typed array view.
* @param {number} idx
* @param {number=} maxBytesToRead
* @return {string}
*/
Tff7b72function Te6edf3UTF8ArrayToStringTb4b4b4(Te6edf3heapOrArrayTb4b4b4, Te6edf3idxTb4b4b4, Te6edf3maxBytesToReadTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3endIdx Tff7b72= Te6edf3idx Tff7b72+ Te6edf3maxBytesToReadTb4b4b4;
Tff7b72var Te6edf3endPtr Tff7b72= Te6edf3idxTb4b4b4;
T8b949e// TextDecoder needs to know the byte length in advance, it doesn't stop on
T8b949e// null terminator by itself. Also, use the length info to avoid running tiny
T8b949e// strings through TextDecoder, since .subarray() allocates garbage.
T8b949e// (As a tiny code save trick, compare endPtr against endIdx using a negation,
T8b949e// so that undefined means Infinity)
Tff7b72while Tb4b4b4(Te6edf3heapOrArrayTb4b4b4[Te6edf3endPtrTb4b4b4] Tff7b72&& Tff7b72!Tb4b4b4(Te6edf3endPtr Tff7b72>= Te6edf3endIdxTb4b4b4)Tb4b4b4) Tff7b72++Te6edf3endPtrTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3endPtr Tff7b72- Te6edf3idx Tff7b72> T79c0ff16 Tff7b72&& Te6edf3heapOrArrayTb4b4b4.Te6edf3buffer Tff7b72&& Te6edf3UTF8DecoderTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3UTF8DecoderTb4b4b4.Te6edf3decodeTb4b4b4(Te6edf3heapOrArrayTb4b4b4.Te6edf3subarrayTb4b4b4(Te6edf3idxTb4b4b4, Te6edf3endPtrTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3str Tff7b72= Ta5d6ff""Tb4b4b4;
T8b949e// If building with TextDecoder, we have already computed the string length
T8b949e// above, so test loop end condition against that
Tff7b72while Tb4b4b4(Te6edf3idx Tff7b72< Te6edf3endPtrTb4b4b4) Tb4b4b4{
T8b949e// For UTF8 byte structure, see:
T8b949e// http://en.wikipedia.org/wiki/UTF-8#Description
T8b949e// https://www.ietf.org/rfc/rfc2279.txt
T8b949e// https://tools.ietf.org/html/rfc3629
Tff7b72var Te6edf3u0 Tff7b72= Te6edf3heapOrArrayTb4b4b4[Te6edf3idxTff7b72++Tb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Tb4b4b4(Te6edf3u0 Tff7b72& T79c0ff0x80Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3str Tff7b72+= Tffa657StringTb4b4b4.Te6edf3fromCharCodeTb4b4b4(Te6edf3u0Tb4b4b4)Tb4b4b4;
Tff7b72continueTb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3u1 Tff7b72= Te6edf3heapOrArrayTb4b4b4[Te6edf3idxTff7b72++Tb4b4b4] Tff7b72& T79c0ff63Tb4b4b4;
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3u0 Tff7b72& T79c0ff0xe0Tb4b4b4) Tff7b72== T79c0ff0xc0Tb4b4b4) Tb4b4b4{
Te6edf3str Tff7b72+= Tffa657StringTb4b4b4.Te6edf3fromCharCodeTb4b4b4(Tb4b4b4(Tb4b4b4(Te6edf3u0 Tff7b72& T79c0ff31Tb4b4b4) Tff7b72<< T79c0ff6Tb4b4b4) Tff7b72| Te6edf3u1Tb4b4b4)Tb4b4b4;
Tff7b72continueTb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3u2 Tff7b72= Te6edf3heapOrArrayTb4b4b4[Te6edf3idxTff7b72++Tb4b4b4] Tff7b72& T79c0ff63Tb4b4b4;
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3u0 Tff7b72& T79c0ff0xf0Tb4b4b4) Tff7b72== T79c0ff0xe0Tb4b4b4) Tb4b4b4{
Te6edf3u0 Tff7b72= Tb4b4b4(Tb4b4b4(Te6edf3u0 Tff7b72& T79c0ff15Tb4b4b4) Tff7b72<< T79c0ff12Tb4b4b4) Tff7b72| Tb4b4b4(Te6edf3u1 Tff7b72<< T79c0ff6Tb4b4b4) Tff7b72| Te6edf3u2Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3u0 Tff7b72& T79c0ff0xf8Tb4b4b4) Tff7b72!= T79c0ff0xf0Tb4b4b4)
Te6edf3warnOnceTb4b4b4(
Ta5d6ff"Invalid UTF-8 leading byte " Tff7b72+
Te6edf3ptrToStringTb4b4b4(Te6edf3u0Tb4b4b4) Tff7b72+
Ta5d6ff" encountered when deserializing a UTF-8 string in wasm memory to a JS string!"
Tb4b4b4)Tb4b4b4;
Te6edf3u0 Tff7b72= Tb4b4b4(Tb4b4b4(Te6edf3u0 Tff7b72& T79c0ff7Tb4b4b4) Tff7b72<< T79c0ff18Tb4b4b4) Tff7b72| Tb4b4b4(Te6edf3u1 Tff7b72<< T79c0ff12Tb4b4b4) Tff7b72| Tb4b4b4(Te6edf3u2 Tff7b72<< T79c0ff6Tb4b4b4) Tff7b72| Tb4b4b4(Te6edf3heapOrArrayTb4b4b4[Te6edf3idxTff7b72++Tb4b4b4] Tff7b72& T79c0ff63Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3u0 Tff7b72< T79c0ff0x10000Tb4b4b4) Tb4b4b4{
Te6edf3str Tff7b72+= Tffa657StringTb4b4b4.Te6edf3fromCharCodeTb4b4b4(Te6edf3u0Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72var Te6edf3ch Tff7b72= Te6edf3u0 Tff7b72- T79c0ff0x10000Tb4b4b4;
Te6edf3str Tff7b72+= Tffa657StringTb4b4b4.Te6edf3fromCharCodeTb4b4b4(T79c0ff0xd800 Tff7b72| Tb4b4b4(Te6edf3ch Tff7b72>> T79c0ff10Tb4b4b4)Tb4b4b4, T79c0ff0xdc00 Tff7b72| Tb4b4b4(Te6edf3ch Tff7b72& T79c0ff0x3ffTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3strTb4b4b4;
Tb4b4b4}
T8b949e/**
* Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the
* emscripten HEAP, returns a copy of that string as a Javascript String object.
*
* @param {number} ptr
* @param {number=} maxBytesToRead - An optional length that specifies the
* maximum number of bytes to read. You can omit this parameter to scan the
* string until the first \0 byte. If maxBytesToRead is passed, and the string
* at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the
* string will cut short at that byte index (i.e. maxBytesToRead will not
* produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing
* frequent uses of UTF8ToString() with and without maxBytesToRead may throw
* JS JIT optimizations off, so it is worth to consider consistently using one
* @return {string}
*/
Tff7b72function Te6edf3UTF8ToStringTb4b4b4(Te6edf3ptrTb4b4b4, Te6edf3maxBytesToReadTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3ptr Tff7b72? Te6edf3UTF8ArrayToStringTb4b4b4(Te6edf3HEAPU8Tb4b4b4, Te6edf3ptrTb4b4b4, Te6edf3maxBytesToReadTb4b4b4) Tff7b72: Ta5d6ff""Tb4b4b4;
Tb4b4b4}
T8b949e/**
* Copies the given Javascript String object 'str' to the given byte array at
* address 'outIdx', encoded in UTF8 form and null-terminated. The copy will
* require at most str.length*4+1 bytes of space in the HEAP. Use the function
* lengthBytesUTF8 to compute the exact number of bytes (excluding null
* terminator) that this function will write.
*
* @param {string} str - The Javascript string to copy.
* @param {ArrayBufferView|Array<number>} heap - The array to copy to. Each
* index in this array is assumed
* to be one 8-byte element.
* @param {number} outIdx - The starting offset in the array to begin the copying.
* @param {number} maxBytesToWrite - The maximum number of bytes this function
* can write to the array. This count should
* include the null terminator, i.e. if
* maxBytesToWrite=1, only the null terminator
* will be written and nothing else.
* maxBytesToWrite=0 does not write any bytes
* to the output, not even the null
* terminator.
* @return {number} The number of bytes written, EXCLUDING the null terminator.
*/
Tff7b72function Te6edf3stringToUTF8ArrayTb4b4b4(Te6edf3strTb4b4b4, Te6edf3heapTb4b4b4, Te6edf3outIdxTb4b4b4, Te6edf3maxBytesToWriteTb4b4b4) Tb4b4b4{
T8b949e// Parameter maxBytesToWrite is not optional. Negative values, 0, null,
T8b949e// undefined and false each don't write out any bytes.
Tff7b72if Tb4b4b4(Tff7b72!Tb4b4b4(Te6edf3maxBytesToWrite Tff7b72> T79c0ff0Tb4b4b4)Tb4b4b4) Tff7b72return T79c0ff0Tb4b4b4;
Tff7b72var Te6edf3startIdx Tff7b72= Te6edf3outIdxTb4b4b4;
Tff7b72var Te6edf3endIdx Tff7b72= Te6edf3outIdx Tff7b72+ Te6edf3maxBytesToWrite Tff7b72- T79c0ff1Tb4b4b4; T8b949e// -1 for string null terminator.
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3strTb4b4b4.Te6edf3lengthTb4b4b4; Tff7b72++Te6edf3iTb4b4b4) Tb4b4b4{
T8b949e// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code
T8b949e// unit, not a Unicode code point of the character! So decode
T8b949e// UTF16->UTF32->UTF8.
T8b949e// See http://unicode.org/faq/utf_bom.html#utf16-3
T8b949e// For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description
T8b949e// and https://www.ietf.org/rfc/rfc2279.txt
T8b949e// and https://tools.ietf.org/html/rfc3629
Tff7b72var Te6edf3u Tff7b72= Te6edf3strTb4b4b4.Te6edf3charCodeAtTb4b4b4(Te6edf3iTb4b4b4)Tb4b4b4; T8b949e// possibly a lead surrogate
Tff7b72if Tb4b4b4(Te6edf3u Tff7b72>= T79c0ff0xd800 Tff7b72&& Te6edf3u Tff7b72<= T79c0ff0xdfffTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3u1 Tff7b72= Te6edf3strTb4b4b4.Te6edf3charCodeAtTb4b4b4(Tff7b72++Te6edf3iTb4b4b4)Tb4b4b4;
Te6edf3u Tff7b72= Tb4b4b4(T79c0ff0x10000 Tff7b72+ Tb4b4b4(Tb4b4b4(Te6edf3u Tff7b72& T79c0ff0x3ffTb4b4b4) Tff7b72<< T79c0ff10Tb4b4b4)Tb4b4b4) Tff7b72| Tb4b4b4(Te6edf3u1 Tff7b72& T79c0ff0x3ffTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3u Tff7b72<= T79c0ff0x7fTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3outIdx Tff7b72>= Te6edf3endIdxTb4b4b4) Tff7b72breakTb4b4b4;
Te6edf3heapTb4b4b4[Te6edf3outIdxTff7b72++Tb4b4b4] Tff7b72= Te6edf3uTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3u Tff7b72<= T79c0ff0x7ffTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3outIdx Tff7b72+ T79c0ff1 Tff7b72>= Te6edf3endIdxTb4b4b4) Tff7b72breakTb4b4b4;
Te6edf3heapTb4b4b4[Te6edf3outIdxTff7b72++Tb4b4b4] Tff7b72= T79c0ff0xc0 Tff7b72| Tb4b4b4(Te6edf3u Tff7b72>> T79c0ff6Tb4b4b4)Tb4b4b4;
Te6edf3heapTb4b4b4[Te6edf3outIdxTff7b72++Tb4b4b4] Tff7b72= T79c0ff0x80 Tff7b72| Tb4b4b4(Te6edf3u Tff7b72& T79c0ff63Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3u Tff7b72<= T79c0ff0xffffTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3outIdx Tff7b72+ T79c0ff2 Tff7b72>= Te6edf3endIdxTb4b4b4) Tff7b72breakTb4b4b4;
Te6edf3heapTb4b4b4[Te6edf3outIdxTff7b72++Tb4b4b4] Tff7b72= T79c0ff0xe0 Tff7b72| Tb4b4b4(Te6edf3u Tff7b72>> T79c0ff12Tb4b4b4)Tb4b4b4;
Te6edf3heapTb4b4b4[Te6edf3outIdxTff7b72++Tb4b4b4] Tff7b72= T79c0ff0x80 Tff7b72| Tb4b4b4(Tb4b4b4(Te6edf3u Tff7b72>> T79c0ff6Tb4b4b4) Tff7b72& T79c0ff63Tb4b4b4)Tb4b4b4;
Te6edf3heapTb4b4b4[Te6edf3outIdxTff7b72++Tb4b4b4] Tff7b72= T79c0ff0x80 Tff7b72| Tb4b4b4(Te6edf3u Tff7b72& T79c0ff63Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3outIdx Tff7b72+ T79c0ff3 Tff7b72>= Te6edf3endIdxTb4b4b4) Tff7b72breakTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3u Tff7b72> T79c0ff0x10ffffTb4b4b4)
Te6edf3warnOnceTb4b4b4(
Ta5d6ff"Invalid Unicode code point " Tff7b72+
Te6edf3ptrToStringTb4b4b4(Te6edf3uTb4b4b4) Tff7b72+
Ta5d6ff" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."
Tb4b4b4)Tb4b4b4;
Te6edf3heapTb4b4b4[Te6edf3outIdxTff7b72++Tb4b4b4] Tff7b72= T79c0ff0xf0 Tff7b72| Tb4b4b4(Te6edf3u Tff7b72>> T79c0ff18Tb4b4b4)Tb4b4b4;
Te6edf3heapTb4b4b4[Te6edf3outIdxTff7b72++Tb4b4b4] Tff7b72= T79c0ff0x80 Tff7b72| Tb4b4b4(Tb4b4b4(Te6edf3u Tff7b72>> T79c0ff12Tb4b4b4) Tff7b72& T79c0ff63Tb4b4b4)Tb4b4b4;
Te6edf3heapTb4b4b4[Te6edf3outIdxTff7b72++Tb4b4b4] Tff7b72= T79c0ff0x80 Tff7b72| Tb4b4b4(Tb4b4b4(Te6edf3u Tff7b72>> T79c0ff6Tb4b4b4) Tff7b72& T79c0ff63Tb4b4b4)Tb4b4b4;
Te6edf3heapTb4b4b4[Te6edf3outIdxTff7b72++Tb4b4b4] Tff7b72= T79c0ff0x80 Tff7b72| Tb4b4b4(Te6edf3u Tff7b72& T79c0ff63Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// Null-terminate the pointer to the buffer.
Te6edf3heapTb4b4b4[Te6edf3outIdxTb4b4b4] Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72return Te6edf3outIdx Tff7b72- Te6edf3startIdxTb4b4b4;
Tb4b4b4}
T8b949e/**
* Copies the given Javascript String object 'str' to the emscripten HEAP at
* address 'outPtr', null-terminated and encoded in UTF8 form. The copy will
* require at most str.length*4+1 bytes of space in the HEAP.
* Use the function lengthBytesUTF8 to compute the exact number of bytes
* (excluding null terminator) that this function will write.
*
* @return {number} The number of bytes written, EXCLUDING the null terminator.
*/
Tff7b72function Te6edf3stringToUTF8Tb4b4b4(Te6edf3strTb4b4b4, Te6edf3outPtrTb4b4b4, Te6edf3maxBytesToWriteTb4b4b4) Tb4b4b4{
Te6edf3assertTb4b4b4(
Tff7b72typeof Te6edf3maxBytesToWrite Tff7b72== Ta5d6ff"number"Tb4b4b4,
Ta5d6ff"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"
Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3stringToUTF8ArrayTb4b4b4(Te6edf3strTb4b4b4, Te6edf3HEAPU8Tb4b4b4, Te6edf3outPtrTb4b4b4, Te6edf3maxBytesToWriteTb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e/**
* Returns the number of bytes the given Javascript string takes if encoded as a
* UTF8 byte array, EXCLUDING the null terminator byte.
*
* @param {string} str - JavaScript string to operator on
* @return {number} Length, in bytes, of the UTF8 encoded string.
*/
Tff7b72function Te6edf3lengthBytesUTF8Tb4b4b4(Te6edf3strTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3len Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3strTb4b4b4.Te6edf3lengthTb4b4b4; Tff7b72++Te6edf3iTb4b4b4) Tb4b4b4{
T8b949e// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code
T8b949e// unit, not a Unicode code point of the character! So decode
T8b949e// UTF16->UTF32->UTF8.
T8b949e// See http://unicode.org/faq/utf_bom.html#utf16-3
Tff7b72var Te6edf3c Tff7b72= Te6edf3strTb4b4b4.Te6edf3charCodeAtTb4b4b4(Te6edf3iTb4b4b4)Tb4b4b4; T8b949e// possibly a lead surrogate
Tff7b72if Tb4b4b4(Te6edf3c Tff7b72<= T79c0ff0x7fTb4b4b4) Tb4b4b4{
Te6edf3lenTff7b72++Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3c Tff7b72<= T79c0ff0x7ffTb4b4b4) Tb4b4b4{
Te6edf3len Tff7b72+= T79c0ff2Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3c Tff7b72>= T79c0ff0xd800 Tff7b72&& Te6edf3c Tff7b72<= T79c0ff0xdfffTb4b4b4) Tb4b4b4{
Te6edf3len Tff7b72+= T79c0ff4Tb4b4b4;
Tff7b72++Te6edf3iTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3len Tff7b72+= T79c0ff3Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3lenTb4b4b4;
Tb4b4b4}
T8b949e// end include: runtime_strings.js
T8b949e// Memory management
Tff7b72var Te6edf3HEAPTb4b4b4,
T8b949e/** @type {!ArrayBuffer} */
Te6edf3bufferTb4b4b4,
T8b949e/** @type {!Int8Array} */
Te6edf3HEAP8Tb4b4b4,
T8b949e/** @type {!Uint8Array} */
Te6edf3HEAPU8Tb4b4b4,
T8b949e/** @type {!Int16Array} */
Te6edf3HEAP16Tb4b4b4,
T8b949e/** @type {!Uint16Array} */
Te6edf3HEAPU16Tb4b4b4,
T8b949e/** @type {!Int32Array} */
Te6edf3HEAP32Tb4b4b4,
T8b949e/** @type {!Uint32Array} */
Te6edf3HEAPU32Tb4b4b4,
T8b949e/** @type {!Float32Array} */
Te6edf3HEAPF32Tb4b4b4,
T8b949e/** @type {!Float64Array} */
Te6edf3HEAPF64Tb4b4b4;
Tff7b72function Te6edf3updateGlobalBufferAndViewsTb4b4b4(Te6edf3bufTb4b4b4) Tb4b4b4{
Te6edf3buffer Tff7b72= Te6edf3bufTb4b4b4;
Te6edf3ModuleTb4b4b4[Ta5d6ff"HEAP8"Tb4b4b4] Tff7b72= Te6edf3HEAP8 Tff7b72= Tff7b72new Tffa657Int8ArrayTb4b4b4(Te6edf3bufTb4b4b4)Tb4b4b4;
Te6edf3ModuleTb4b4b4[Ta5d6ff"HEAP16"Tb4b4b4] Tff7b72= Te6edf3HEAP16 Tff7b72= Tff7b72new Tffa657Int16ArrayTb4b4b4(Te6edf3bufTb4b4b4)Tb4b4b4;
Te6edf3ModuleTb4b4b4[Ta5d6ff"HEAP32"Tb4b4b4] Tff7b72= Te6edf3HEAP32 Tff7b72= Tff7b72new Tffa657Int32ArrayTb4b4b4(Te6edf3bufTb4b4b4)Tb4b4b4;
Te6edf3ModuleTb4b4b4[Ta5d6ff"HEAPU8"Tb4b4b4] Tff7b72= Te6edf3HEAPU8 Tff7b72= Tff7b72new Tffa657Uint8ArrayTb4b4b4(Te6edf3bufTb4b4b4)Tb4b4b4;
Te6edf3ModuleTb4b4b4[Ta5d6ff"HEAPU16"Tb4b4b4] Tff7b72= Te6edf3HEAPU16 Tff7b72= Tff7b72new Tffa657Uint16ArrayTb4b4b4(Te6edf3bufTb4b4b4)Tb4b4b4;
Te6edf3ModuleTb4b4b4[Ta5d6ff"HEAPU32"Tb4b4b4] Tff7b72= Te6edf3HEAPU32 Tff7b72= Tff7b72new Tffa657Uint32ArrayTb4b4b4(Te6edf3bufTb4b4b4)Tb4b4b4;
Te6edf3ModuleTb4b4b4[Ta5d6ff"HEAPF32"Tb4b4b4] Tff7b72= Te6edf3HEAPF32 Tff7b72= Tff7b72new Tffa657Float32ArrayTb4b4b4(Te6edf3bufTb4b4b4)Tb4b4b4;
Te6edf3ModuleTb4b4b4[Ta5d6ff"HEAPF64"Tb4b4b4] Tff7b72= Te6edf3HEAPF64 Tff7b72= Tff7b72new Tffa657Float64ArrayTb4b4b4(Te6edf3bufTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3STACK_SIZE Tff7b72= T79c0ff5242880Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"STACK_SIZE"Tb4b4b4]Tb4b4b4)
Te6edf3assertTb4b4b4(Te6edf3STACK_SIZE Tff7b72=== Te6edf3ModuleTb4b4b4[Ta5d6ff"STACK_SIZE"Tb4b4b4]Tb4b4b4, Ta5d6ff"the stack size can no longer be determined at runtime"Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3INITIAL_MEMORY Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"INITIAL_MEMORY"Tb4b4b4] Tff7b72|| T79c0ff16777216Tb4b4b4;
Te6edf3legacyModulePropTb4b4b4(Ta5d6ff"INITIAL_MEMORY"Tb4b4b4, Ta5d6ff"INITIAL_MEMORY"Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(
Te6edf3INITIAL_MEMORY Tff7b72>= Te6edf3STACK_SIZETb4b4b4,
Ta5d6ff"INITIAL_MEMORY should be larger than STACK_SIZE, was " Tff7b72+
Te6edf3INITIAL_MEMORY Tff7b72+
Ta5d6ff"! (STACK_SIZE=" Tff7b72+
Te6edf3STACK_SIZE Tff7b72+
Ta5d6ff")"
Tb4b4b4)Tb4b4b4;
T8b949e// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
Te6edf3assertTb4b4b4(
Tff7b72typeof Tffa657Int32Array Tff7b72!= Ta5d6ff"undefined" Tff7b72&&
Tff7b72typeof Tffa657Float64Array Tff7b72!== Ta5d6ff"undefined" Tff7b72&&
Tffa657Int32ArrayTb4b4b4.Te6edf3prototypeTb4b4b4.Te6edf3subarray Tff7b72!= Tff7b72undefined Tff7b72&&
Tffa657Int32ArrayTb4b4b4.Te6edf3prototypeTb4b4b4.Te6edf3set Tff7b72!= Tff7b72undefinedTb4b4b4,
Ta5d6ff"JS engine does not provide full typed array support"
Tb4b4b4)Tb4b4b4;
T8b949e// If memory is defined in wasm, the user can't provide it.
Te6edf3assertTb4b4b4(
Tff7b72!Te6edf3ModuleTb4b4b4[Ta5d6ff"wasmMemory"Tb4b4b4]Tb4b4b4,
Ta5d6ff"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"
Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(
Te6edf3INITIAL_MEMORY Tff7b72== T79c0ff16777216Tb4b4b4,
Ta5d6ff"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"
Tb4b4b4)Tb4b4b4;
T8b949e// include: runtime_init_table.js
T8b949e// In regular non-RELOCATABLE mode the table is exported
T8b949e// from the wasm module and this will be assigned once
T8b949e// the exports are available.
Tff7b72var Te6edf3wasmTableTb4b4b4;
T8b949e// end include: runtime_init_table.js
T8b949e// include: runtime_stack_check.js
T8b949e// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode.
Tff7b72function Te6edf3writeStackCookieTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3max Tff7b72= Te6edf3_emscripten_stack_get_endTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(Tb4b4b4(Te6edf3max Tff7b72& T79c0ff3Tb4b4b4) Tff7b72== T79c0ff0Tb4b4b4)Tb4b4b4;
T8b949e// If the stack ends at address zero we write our cookies 4 bytes into the
T8b949e// stack. This prevents interference with the (separate) address-zero check
T8b949e// below.
Tff7b72if Tb4b4b4(Te6edf3max Tff7b72== T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3max Tff7b72+= T79c0ff4Tb4b4b4;
Tb4b4b4}
T8b949e// The stack grow downwards towards _emscripten_stack_get_end.
T8b949e// We write cookies to the final two words in the stack and detect if they are
T8b949e// ever overwritten.
Te6edf3HEAPU32Tb4b4b4[Te6edf3max Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= T79c0ff0x2135467Tb4b4b4;
Te6edf3HEAPU32Tb4b4b4[Tb4b4b4(Te6edf3max Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= T79c0ff0x89bacdfeTb4b4b4;
T8b949e// Also test the global address 0 for integrity.
Te6edf3HEAPU32Tb4b4b4[T79c0ff0Tb4b4b4] Tff7b72= T79c0ff0x63736d65Tb4b4b4; T8b949e/* 'emsc' */
Tb4b4b4}
Tff7b72function Te6edf3checkStackCookieTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3ABORTTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72var Te6edf3max Tff7b72= Te6edf3_emscripten_stack_get_endTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// See writeStackCookie().
Tff7b72if Tb4b4b4(Te6edf3max Tff7b72== T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3max Tff7b72+= T79c0ff4Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3cookie1 Tff7b72= Te6edf3HEAPU32Tb4b4b4[Te6edf3max Tff7b72>> T79c0ff2Tb4b4b4]Tb4b4b4;
Tff7b72var Te6edf3cookie2 Tff7b72= Te6edf3HEAPU32Tb4b4b4[Tb4b4b4(Te6edf3max Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3cookie1 Tff7b72!= T79c0ff0x2135467 Tff7b72|| Te6edf3cookie2 Tff7b72!= T79c0ff0x89bacdfeTb4b4b4) Tb4b4b4{
Te6edf3abortTb4b4b4(
Ta5d6ff"Stack overflow! Stack cookie has been overwritten at " Tff7b72+
Te6edf3ptrToStringTb4b4b4(Te6edf3maxTb4b4b4) Tff7b72+
Ta5d6ff", expected hex dwords 0x89BACDFE and 0x2135467, but received " Tff7b72+
Te6edf3ptrToStringTb4b4b4(Te6edf3cookie2Tb4b4b4) Tff7b72+
Ta5d6ff" " Tff7b72+
Te6edf3ptrToStringTb4b4b4(Te6edf3cookie1Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// Also test the global address 0 for integrity.
Tff7b72if Tb4b4b4(Te6edf3HEAPU32Tb4b4b4[T79c0ff0Tb4b4b4] Tff7b72!== T79c0ff0x63736d65 T8b949e/* 'emsc' */Tb4b4b4) Tb4b4b4{
Te6edf3abortTb4b4b4(Ta5d6ff"Runtime error: The application has corrupted its heap memory area (address zero)!"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// end include: runtime_stack_check.js
T8b949e// include: runtime_assertions.js
T8b949e// Endianness check
Tb4b4b4(Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3h16 Tff7b72= Tff7b72new Tffa657Int16ArrayTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3h8 Tff7b72= Tff7b72new Tffa657Int8ArrayTb4b4b4(Te6edf3h16Tb4b4b4.Te6edf3bufferTb4b4b4)Tb4b4b4;
Te6edf3h16Tb4b4b4[T79c0ff0Tb4b4b4] Tff7b72= T79c0ff0x6373Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3h8Tb4b4b4[T79c0ff0Tb4b4b4] Tff7b72!== T79c0ff0x73 Tff7b72|| Te6edf3h8Tb4b4b4[T79c0ff1Tb4b4b4] Tff7b72!== T79c0ff0x63Tb4b4b4)
Tff7b72throw Ta5d6ff"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// end include: runtime_assertions.js
Tff7b72var Te6edf3__ATPRERUN__ Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4; T8b949e// functions called before the runtime is initialized
Tff7b72var Te6edf3__ATINIT__ Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4; T8b949e// functions called during startup
Tff7b72var Te6edf3__ATMAIN__ Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4; T8b949e// functions called when main() is to be run
Tff7b72var Te6edf3__ATEXIT__ Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4; T8b949e// functions called during shutdown
Tff7b72var Te6edf3__ATPOSTRUN__ Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4; T8b949e// functions called after the main() is called
Tff7b72var Te6edf3runtimeInitialized Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72function Te6edf3keepRuntimeAliveTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3noExitRuntimeTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3preRunTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"preRun"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3ModuleTb4b4b4[Ta5d6ff"preRun"Tb4b4b4] Tff7b72== Ta5d6ff"function"Tb4b4b4) Te6edf3ModuleTb4b4b4[Ta5d6ff"preRun"Tb4b4b4] Tff7b72= Tb4b4b4[Te6edf3ModuleTb4b4b4[Ta5d6ff"preRun"Tb4b4b4]Tb4b4b4]Tb4b4b4;
Tff7b72while Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"preRun"Tb4b4b4]Tb4b4b4.Te6edf3lengthTb4b4b4) Tb4b4b4{
Te6edf3addOnPreRunTb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"preRun"Tb4b4b4]Tb4b4b4.Te6edf3shiftTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Te6edf3callRuntimeCallbacksTb4b4b4(Te6edf3__ATPRERUN__Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3initRuntimeTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3assertTb4b4b4(Tff7b72!Te6edf3runtimeInitializedTb4b4b4)Tb4b4b4;
Te6edf3runtimeInitialized Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3checkStackCookieTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3ModuleTb4b4b4[Ta5d6ff"noFSInit"Tb4b4b4] Tff7b72&& Tff7b72!Te6edf3FSTb4b4b4.Te6edf3initTb4b4b4.Te6edf3initializedTb4b4b4) Te6edf3FSTb4b4b4.Te6edf3initTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3ignorePermissions Tff7b72= Tff7b72falseTb4b4b4;
Te6edf3TTYTb4b4b4.Te6edf3initTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3callRuntimeCallbacksTb4b4b4(Te6edf3__ATINIT__Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3preMainTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3checkStackCookieTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3callRuntimeCallbacksTb4b4b4(Te6edf3__ATMAIN__Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3postRunTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3checkStackCookieTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"postRun"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3ModuleTb4b4b4[Ta5d6ff"postRun"Tb4b4b4] Tff7b72== Ta5d6ff"function"Tb4b4b4) Te6edf3ModuleTb4b4b4[Ta5d6ff"postRun"Tb4b4b4] Tff7b72= Tb4b4b4[Te6edf3ModuleTb4b4b4[Ta5d6ff"postRun"Tb4b4b4]Tb4b4b4]Tb4b4b4;
Tff7b72while Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"postRun"Tb4b4b4]Tb4b4b4.Te6edf3lengthTb4b4b4) Tb4b4b4{
Te6edf3addOnPostRunTb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"postRun"Tb4b4b4]Tb4b4b4.Te6edf3shiftTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Te6edf3callRuntimeCallbacksTb4b4b4(Te6edf3__ATPOSTRUN__Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3addOnPreRunTb4b4b4(Te6edf3cbTb4b4b4) Tb4b4b4{
Te6edf3__ATPRERUN__Tb4b4b4.Te6edf3unshiftTb4b4b4(Te6edf3cbTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3addOnInitTb4b4b4(Te6edf3cbTb4b4b4) Tb4b4b4{
Te6edf3__ATINIT__Tb4b4b4.Te6edf3unshiftTb4b4b4(Te6edf3cbTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3addOnPreMainTb4b4b4(Te6edf3cbTb4b4b4) Tb4b4b4{
Te6edf3__ATMAIN__Tb4b4b4.Te6edf3unshiftTb4b4b4(Te6edf3cbTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3addOnExitTb4b4b4(Te6edf3cbTb4b4b4) Tb4b4b4{Tb4b4b4}
Tff7b72function Te6edf3addOnPostRunTb4b4b4(Te6edf3cbTb4b4b4) Tb4b4b4{
Te6edf3__ATPOSTRUN__Tb4b4b4.Te6edf3unshiftTb4b4b4(Te6edf3cbTb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// include: runtime_math.js
T8b949e// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul
T8b949e// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround
T8b949e// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32
T8b949e// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc
Te6edf3assertTb4b4b4(
Tffa657MathTb4b4b4.Te6edf3imulTb4b4b4,
Ta5d6ff"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"
Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(
Tffa657MathTb4b4b4.Te6edf3froundTb4b4b4,
Ta5d6ff"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"
Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(
Tffa657MathTb4b4b4.Te6edf3clz32Tb4b4b4,
Ta5d6ff"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"
Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(
Tffa657MathTb4b4b4.Te6edf3truncTb4b4b4,
Ta5d6ff"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"
Tb4b4b4)Tb4b4b4;
T8b949e// end include: runtime_math.js
T8b949e// A counter of dependencies for calling run(). If we need to
T8b949e// do asynchronous work before running, increment this and
T8b949e// decrement it. Incrementing must happen in a place like
T8b949e// Module.preRun (used by emcc to add file preloading).
T8b949e// Note that you can add dependencies in preRun, even though
T8b949e// it happens right before run - run will be postponed until
T8b949e// the dependencies are met.
Tff7b72var Te6edf3runDependencies Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72var Te6edf3runDependencyWatcher Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72var Te6edf3dependenciesFulfilled Tff7b72= Tff7b72nullTb4b4b4; T8b949e// overridden to take different actions when all run dependencies are fulfilled
Tff7b72var Te6edf3runDependencyTracking Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72function Te6edf3getUniqueRunDependencyTb4b4b4(Te6edf3idTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3orig Tff7b72= Te6edf3idTb4b4b4;
Tff7b72while Tb4b4b4(T79c0ff1Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3runDependencyTrackingTb4b4b4[Te6edf3idTb4b4b4]Tb4b4b4) Tff7b72return Te6edf3idTb4b4b4;
Te6edf3id Tff7b72= Te6edf3orig Tff7b72+ Tffa657MathTb4b4b4.Te6edf3randomTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3addRunDependencyTb4b4b4(Te6edf3idTb4b4b4) Tb4b4b4{
Te6edf3runDependenciesTff7b72++Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"monitorRunDependencies"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3ModuleTb4b4b4[Ta5d6ff"monitorRunDependencies"Tb4b4b4]Tb4b4b4(Te6edf3runDependenciesTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3idTb4b4b4) Tb4b4b4{
Te6edf3assertTb4b4b4(Tff7b72!Te6edf3runDependencyTrackingTb4b4b4[Te6edf3idTb4b4b4]Tb4b4b4)Tb4b4b4;
Te6edf3runDependencyTrackingTb4b4b4[Te6edf3idTb4b4b4] Tff7b72= T79c0ff1Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3runDependencyWatcher Tff7b72=== Tff7b72null Tff7b72&& Tff7b72typeof Te6edf3setInterval Tff7b72!= Ta5d6ff"undefined"Tb4b4b4) Tb4b4b4{
T8b949e// Check for missing dependencies every few seconds
Te6edf3runDependencyWatcher Tff7b72= Te6edf3setIntervalTb4b4b4(Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3ABORTTb4b4b4) Tb4b4b4{
Te6edf3clearIntervalTb4b4b4(Te6edf3runDependencyWatcherTb4b4b4)Tb4b4b4;
Te6edf3runDependencyWatcher Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3shown Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3dep Tff7b72in Te6edf3runDependencyTrackingTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3shownTb4b4b4) Tb4b4b4{
Te6edf3shown Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3errTb4b4b4(Ta5d6ff"still waiting on run dependencies:"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3errTb4b4b4(Ta5d6ff"dependency: " Tff7b72+ Te6edf3depTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3shownTb4b4b4) Tb4b4b4{
Te6edf3errTb4b4b4(Ta5d6ff"(end of list)"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4, T79c0ff10000Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3errTb4b4b4(Ta5d6ff"warning: run dependency added without ID"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3removeRunDependencyTb4b4b4(Te6edf3idTb4b4b4) Tb4b4b4{
Te6edf3runDependenciesTff7b72--Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"monitorRunDependencies"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3ModuleTb4b4b4[Ta5d6ff"monitorRunDependencies"Tb4b4b4]Tb4b4b4(Te6edf3runDependenciesTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3idTb4b4b4) Tb4b4b4{
Te6edf3assertTb4b4b4(Te6edf3runDependencyTrackingTb4b4b4[Te6edf3idTb4b4b4]Tb4b4b4)Tb4b4b4;
Tff7b72delete Te6edf3runDependencyTrackingTb4b4b4[Te6edf3idTb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3errTb4b4b4(Ta5d6ff"warning: run dependency removed without ID"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3runDependencies Tff7b72== T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3runDependencyWatcher Tff7b72!== Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3clearIntervalTb4b4b4(Te6edf3runDependencyWatcherTb4b4b4)Tb4b4b4;
Te6edf3runDependencyWatcher Tff7b72= Tff7b72nullTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3dependenciesFulfilledTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3callback Tff7b72= Te6edf3dependenciesFulfilledTb4b4b4;
Te6edf3dependenciesFulfilled Tff7b72= Tff7b72nullTb4b4b4;
Te6edf3callbackTb4b4b4(Tb4b4b4)Tb4b4b4; T8b949e// can add another dependenciesFulfilled
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
T8b949e/** @param {string|number=} what */
Tff7b72function Te6edf3abortTb4b4b4(Te6edf3whatTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"onAbort"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3ModuleTb4b4b4[Ta5d6ff"onAbort"Tb4b4b4]Tb4b4b4(Te6edf3whatTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3what Tff7b72= Ta5d6ff"Aborted(" Tff7b72+ Te6edf3what Tff7b72+ Ta5d6ff")"Tb4b4b4;
T8b949e// TODO(sbc): Should we remove printing and leave it up to whoever
T8b949e// catches the exception?
Te6edf3errTb4b4b4(Te6edf3whatTb4b4b4)Tb4b4b4;
Te6edf3ABORT Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3EXITSTATUS Tff7b72= T79c0ff1Tb4b4b4;
T8b949e// Use a wasm runtime error, because a JS error might be seen as a foreign
T8b949e// exception, which means we'd run destructors on it. We need the error to
T8b949e// simply make the program stop.
T8b949e// FIXME This approach does not work in Wasm EH because it currently does not assume
T8b949e// all RuntimeErrors are from traps; it decides whether a RuntimeError is from
T8b949e// a trap or not based on a hidden field within the object. So at the moment
T8b949e// we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that
T8b949e// allows this in the wasm spec.
T8b949e// Suppress closure compiler warning here. Closure compiler's builtin extern
T8b949e// defintion for WebAssembly.RuntimeError claims it takes no arguments even
T8b949e// though it can.
T8b949e// TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed.
T8b949e/** @suppress {checkTypes} */
Tff7b72var Te6edf3e Tff7b72= Tff7b72new Te6edf3WebAssemblyTb4b4b4.Te6edf3RuntimeErrorTb4b4b4(Te6edf3whatTb4b4b4)Tb4b4b4;
Te6edf3readyPromiseRejectTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
T8b949e// Throw the error whether or not MODULARIZE is set because abort is used
T8b949e// in code paths apart from instantiation where an exception is expected
T8b949e// to be thrown when abort is called.
Tff7b72throw Te6edf3eTb4b4b4;
Tb4b4b4}
T8b949e// {{MEM_INITIALIZER}}
T8b949e// include: memoryprofiler.js
T8b949e// end include: memoryprofiler.js
T8b949e// include: URIUtils.js
T8b949e// Prefix of data URIs emitted by SINGLE_FILE and related options.
Tff7b72var Te6edf3dataURIPrefix Tff7b72= Ta5d6ff"data:application/octet-stream;base64,"Tb4b4b4;
T8b949e// Indicates whether filename is a base64 data URI.
Tff7b72function Te6edf3isDataURITb4b4b4(Te6edf3filenameTb4b4b4) Tb4b4b4{
T8b949e// Prefix of data URIs emitted by SINGLE_FILE and related options.
Tff7b72return Te6edf3filenameTb4b4b4.Te6edf3startsWithTb4b4b4(Te6edf3dataURIPrefixTb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// Indicates whether filename is delivered via file protocol (as opposed to http/https)
Tff7b72function Te6edf3isFileURITb4b4b4(Te6edf3filenameTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3filenameTb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"file://"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// end include: URIUtils.js
T8b949e/** @param {boolean=} fixedasm */
Tff7b72function Te6edf3createExportWrapperTb4b4b4(Te6edf3nameTb4b4b4, Te6edf3fixedasmTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3displayName Tff7b72= Te6edf3nameTb4b4b4;
Tff7b72var Te6edf3asm Tff7b72= Te6edf3fixedasmTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3fixedasmTb4b4b4) Tb4b4b4{
Te6edf3asm Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"asm"Tb4b4b4]Tb4b4b4;
Tb4b4b4}
Te6edf3assertTb4b4b4(
Te6edf3runtimeInitializedTb4b4b4,
Ta5d6ff"native function `" Tff7b72+ Te6edf3displayName Tff7b72+ Ta5d6ff"` called before runtime initialization"
Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3asmTb4b4b4[Te6edf3nameTb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3assertTb4b4b4(Te6edf3asmTb4b4b4[Te6edf3nameTb4b4b4]Tb4b4b4, Ta5d6ff"exported native function `" Tff7b72+ Te6edf3displayName Tff7b72+ Ta5d6ff"` not found"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3asmTb4b4b4[Te6edf3nameTb4b4b4]Tb4b4b4.Te6edf3applyTb4b4b4(Tff7b72nullTb4b4b4, Te6edf3argumentsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3wasmBinaryFileTb4b4b4;
Te6edf3wasmBinaryFile Tff7b72= Ta5d6ff"sox.wasm"Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3isDataURITb4b4b4(Te6edf3wasmBinaryFileTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3wasmBinaryFile Tff7b72= Te6edf3locateFileTb4b4b4(Te6edf3wasmBinaryFileTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3getBinaryTb4b4b4(Te6edf3fileTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3file Tff7b72== Te6edf3wasmBinaryFile Tff7b72&& Te6edf3wasmBinaryTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72new Tffa657Uint8ArrayTb4b4b4(Te6edf3wasmBinaryTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3readBinaryTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3readBinaryTb4b4b4(Te6edf3fileTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72throw Ta5d6ff"both async and sync fetching of the wasm failed"Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errTb4b4b4) Tb4b4b4{
Te6edf3abortTb4b4b4(Te6edf3errTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3getBinaryPromiseTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// If we don't have the binary yet, try to to load it asynchronously.
T8b949e// Fetch has some additional restrictions over XHR, like it can't be used on a file:// url.
T8b949e// See https://github.com/github/fetch/pull/92#issuecomment-140665932
T8b949e// Cordova or Electron apps are typically loaded from a file:// url.
T8b949e// So use fetch if it is available and the url is not a file, otherwise fall back to XHR.
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3wasmBinary Tff7b72&& Tb4b4b4(Te6edf3ENVIRONMENT_IS_WEB Tff7b72|| Te6edf3ENVIRONMENT_IS_WORKERTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3fetch Tff7b72== Ta5d6ff"function" Tff7b72&& Tff7b72!Te6edf3isFileURITb4b4b4(Te6edf3wasmBinaryFileTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3fetchTb4b4b4(Te6edf3wasmBinaryFileTb4b4b4, Tb4b4b4{ Te6edf3credentialsTff7b72: Ta5d6ff"same-origin" Tb4b4b4}Tb4b4b4)
Tb4b4b4.Te6edf3thenTb4b4b4(Tff7b72function Tb4b4b4(Te6edf3responseTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3responseTb4b4b4[Ta5d6ff"ok"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Tff7b72throw Ta5d6ff"failed to load wasm binary file at '" Tff7b72+ Te6edf3wasmBinaryFile Tff7b72+ Ta5d6ff"'"Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3responseTb4b4b4[Ta5d6ff"arrayBuffer"Tb4b4b4]Tb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)
Tb4b4b4.Tff7b72catchTb4b4b4(Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3getBinaryTb4b4b4(Te6edf3wasmBinaryFileTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3readAsyncTb4b4b4) Tb4b4b4{
T8b949e// fetch is not available or url is file => try XHR (readAsync uses XHR internally)
Tff7b72return Tff7b72new Tffa657PromiseTb4b4b4(Tff7b72function Tb4b4b4(Te6edf3resolveTb4b4b4, Te6edf3rejectTb4b4b4) Tb4b4b4{
Te6edf3readAsyncTb4b4b4(
Te6edf3wasmBinaryFileTb4b4b4,
Tff7b72function Tb4b4b4(Te6edf3responseTb4b4b4) Tb4b4b4{
Te6edf3resolveTb4b4b4(Tff7b72new Tffa657Uint8ArrayTb4b4b4(T8b949e/** @type{!ArrayBuffer} */ Tb4b4b4(Te6edf3responseTb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3reject
Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
T8b949e// Otherwise, getBinary should be able to get it synchronously
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3thenTb4b4b4(Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3getBinaryTb4b4b4(Te6edf3wasmBinaryFileTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// Create the wasm instance.
T8b949e// Receives the wasm imports, returns the exports.
Tff7b72function Te6edf3createWasmTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// prepare imports
Tff7b72var Te6edf3info Tff7b72= Tb4b4b4{
Te6edf3envTff7b72: Te6edf3asmLibraryArgTb4b4b4,
Te6edf3wasi_snapshot_preview1Tff7b72: Te6edf3asmLibraryArgTb4b4b4,
Tb4b4b4}Tb4b4b4;
T8b949e// Load the wasm module and create an instance of using native support in the JS engine.
T8b949e// handle a generated wasm instance, receiving its exports and
T8b949e// performing other necessary setup
T8b949e/** @param {WebAssembly.Module=} module*/
Tff7b72function Te6edf3receiveInstanceTb4b4b4(Te6edf3instanceTb4b4b4, Te6edf3moduleTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3exports Tff7b72= Te6edf3instanceTb4b4b4.Te6edf3exportsTb4b4b4;
Te6edf3ModuleTb4b4b4[Ta5d6ff"asm"Tb4b4b4] Tff7b72= Te6edf3exportsTb4b4b4;
Te6edf3wasmMemory Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"asm"Tb4b4b4]Tb4b4b4[Ta5d6ff"memory"Tb4b4b4]Tb4b4b4;
Te6edf3assertTb4b4b4(Te6edf3wasmMemoryTb4b4b4, Ta5d6ff"memory not found in wasm exports"Tb4b4b4)Tb4b4b4;
T8b949e// This assertion doesn't hold when emscripten is run in --post-link
T8b949e// mode.
T8b949e// TODO(sbc): Read INITIAL_MEMORY out of the wasm file in post-link mode.
T8b949e//assert(wasmMemory.buffer.byteLength === 16777216);
Te6edf3updateGlobalBufferAndViewsTb4b4b4(Te6edf3wasmMemoryTb4b4b4.Te6edf3bufferTb4b4b4)Tb4b4b4;
Te6edf3wasmTable Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"asm"Tb4b4b4]Tb4b4b4[Ta5d6ff"__indirect_function_table"Tb4b4b4]Tb4b4b4;
Te6edf3assertTb4b4b4(Te6edf3wasmTableTb4b4b4, Ta5d6ff"table not found in wasm exports"Tb4b4b4)Tb4b4b4;
Te6edf3addOnInitTb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"asm"Tb4b4b4]Tb4b4b4[Ta5d6ff"__wasm_call_ctors"Tb4b4b4]Tb4b4b4)Tb4b4b4;
Te6edf3removeRunDependencyTb4b4b4(Ta5d6ff"wasm-instantiate"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// we can't run yet (except in a pthread, where we have a custom sync instantiator)
Te6edf3addRunDependencyTb4b4b4(Ta5d6ff"wasm-instantiate"Tb4b4b4)Tb4b4b4;
T8b949e// Prefer streaming instantiation if available.
T8b949e// Async compilation can be confusing when an error on the page overwrites Module
T8b949e// (for example, if the order of elements is wrong, and the one defining Module is
T8b949e// later), so we save Module and check it later.
Tff7b72var Te6edf3trueModule Tff7b72= Te6edf3ModuleTb4b4b4;
Tff7b72function Te6edf3receiveInstantiationResultTb4b4b4(Te6edf3resultTb4b4b4) Tb4b4b4{
T8b949e// 'result' is a ResultObject object which has both the module and instance.
T8b949e// receiveInstance() will swap in the exports (to Module.asm) so they can be called
Te6edf3assertTb4b4b4(
Te6edf3Module Tff7b72=== Te6edf3trueModuleTb4b4b4,
Ta5d6ff"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"
Tb4b4b4)Tb4b4b4;
Te6edf3trueModule Tff7b72= Tff7b72nullTb4b4b4;
T8b949e// TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line.
T8b949e// When the regression is fixed, can restore the above USE_PTHREADS-enabled path.
Te6edf3receiveInstanceTb4b4b4(Te6edf3resultTb4b4b4[Ta5d6ff"instance"Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3instantiateArrayBufferTb4b4b4(Te6edf3receiverTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3getBinaryPromiseTb4b4b4(Tb4b4b4)
Tb4b4b4.Te6edf3thenTb4b4b4(Tff7b72function Tb4b4b4(Te6edf3binaryTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3WebAssemblyTb4b4b4.Te6edf3instantiateTb4b4b4(Te6edf3binaryTb4b4b4, Te6edf3infoTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)
Tb4b4b4.Te6edf3thenTb4b4b4(Tff7b72function Tb4b4b4(Te6edf3instanceTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3instanceTb4b4b4;
Tb4b4b4}Tb4b4b4)
Tb4b4b4.Te6edf3thenTb4b4b4(Te6edf3receiverTb4b4b4, Tff7b72function Tb4b4b4(Te6edf3reasonTb4b4b4) Tb4b4b4{
Te6edf3errTb4b4b4(Ta5d6ff"failed to asynchronously prepare wasm: " Tff7b72+ Te6edf3reasonTb4b4b4)Tb4b4b4;
T8b949e// Warn on some common problems.
Tff7b72if Tb4b4b4(Te6edf3isFileURITb4b4b4(Te6edf3wasmBinaryFileTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3errTb4b4b4(
Ta5d6ff"warning: Loading from a file URI (" Tff7b72+
Te6edf3wasmBinaryFile Tff7b72+
Ta5d6ff") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3abortTb4b4b4(Te6edf3reasonTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3instantiateAsyncTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(
Tff7b72!Te6edf3wasmBinary Tff7b72&&
Tff7b72typeof Te6edf3WebAssemblyTb4b4b4.Te6edf3instantiateStreaming Tff7b72== Ta5d6ff"function" Tff7b72&&
Tff7b72!Te6edf3isDataURITb4b4b4(Te6edf3wasmBinaryFileTb4b4b4) Tff7b72&&
T8b949e// Don't use streaming for file:// delivered objects in a webview, fetch them synchronously.
Tff7b72!Te6edf3isFileURITb4b4b4(Te6edf3wasmBinaryFileTb4b4b4) Tff7b72&&
T8b949e// Avoid instantiateStreaming() on Node.js environment for now, as while
T8b949e// Node.js v18.1.0 implements it, it does not have a full fetch()
T8b949e// implementation yet.
T8b949e//
T8b949e// Reference:
T8b949e// https://github.com/emscripten-core/emscripten/pull/16917
Tff7b72!Te6edf3ENVIRONMENT_IS_NODE Tff7b72&&
Tff7b72typeof Te6edf3fetch Tff7b72== Ta5d6ff"function"
Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3fetchTb4b4b4(Te6edf3wasmBinaryFileTb4b4b4, Tb4b4b4{ Te6edf3credentialsTff7b72: Ta5d6ff"same-origin" Tb4b4b4}Tb4b4b4)Tb4b4b4.Te6edf3thenTb4b4b4(Tff7b72function Tb4b4b4(Te6edf3responseTb4b4b4) Tb4b4b4{
T8b949e// Suppress closure warning here since the upstream definition for
T8b949e// instantiateStreaming only allows Promise<Repsponse> rather than
T8b949e// an actual Response.
T8b949e// TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed.
T8b949e/** @suppress {checkTypes} */
Tff7b72var Te6edf3result Tff7b72= Te6edf3WebAssemblyTb4b4b4.Te6edf3instantiateStreamingTb4b4b4(Te6edf3responseTb4b4b4, Te6edf3infoTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3resultTb4b4b4.Te6edf3thenTb4b4b4(Te6edf3receiveInstantiationResultTb4b4b4, Tff7b72function Tb4b4b4(Te6edf3reasonTb4b4b4) Tb4b4b4{
T8b949e// We expect the most common failure cause to be a bad MIME type for the binary,
T8b949e// in which case falling back to ArrayBuffer instantiation should work.
Te6edf3errTb4b4b4(Ta5d6ff"wasm streaming compile failed: " Tff7b72+ Te6edf3reasonTb4b4b4)Tb4b4b4;
Te6edf3errTb4b4b4(Ta5d6ff"falling back to ArrayBuffer instantiation"Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3instantiateArrayBufferTb4b4b4(Te6edf3receiveInstantiationResultTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72return Te6edf3instantiateArrayBufferTb4b4b4(Te6edf3receiveInstantiationResultTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
T8b949e// to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel
T8b949e// to any other async startup actions they are performing.
T8b949e// Also pthreads and wasm workers initialize the wasm instance through this path.
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"instantiateWasm"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3exports Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"instantiateWasm"Tb4b4b4]Tb4b4b4(Te6edf3infoTb4b4b4, Te6edf3receiveInstanceTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3exportsTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3errTb4b4b4(Ta5d6ff"Module.instantiateWasm callback failed with error: " Tff7b72+ Te6edf3eTb4b4b4)Tb4b4b4;
T8b949e// If instantiation fails, reject the module ready promise.
Te6edf3readyPromiseRejectTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// If instantiation fails, reject the module ready promise.
Te6edf3instantiateAsyncTb4b4b4(Tb4b4b4)Tb4b4b4.Tff7b72catchTb4b4b4(Te6edf3readyPromiseRejectTb4b4b4)Tb4b4b4;
Tff7b72return Tb4b4b4{Tb4b4b4}Tb4b4b4; T8b949e// no exports yet; we'll fill them in later
Tb4b4b4}
T8b949e// Globals used by JS i64 conversions (see makeSetValue)
Tff7b72var Te6edf3tempDoubleTb4b4b4;
Tff7b72var Te6edf3tempI64Tb4b4b4;
T8b949e// === Body ===
Tff7b72var Te6edf3ASM_CONSTS Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
T8b949e/** @constructor */
Tff7b72function Te6edf3ExitStatusTb4b4b4(Te6edf3statusTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3name Tff7b72= Ta5d6ff"ExitStatus"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3message Tff7b72= Ta5d6ff"Program terminated with exit(" Tff7b72+ Te6edf3status Tff7b72+ Ta5d6ff")"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3status Tff7b72= Te6edf3statusTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3callRuntimeCallbacksTb4b4b4(Te6edf3callbacksTb4b4b4) Tb4b4b4{
Tff7b72while Tb4b4b4(Te6edf3callbacksTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
T8b949e// Pass the module as the first argument.
Te6edf3callbacksTb4b4b4.Te6edf3shiftTb4b4b4(Tb4b4b4)Tb4b4b4(Te6edf3ModuleTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e/**
* @param {number} ptr
* @param {string} type
*/
Tff7b72function Te6edf3getValueTb4b4b4(Te6edf3ptrTb4b4b4, Te6edf3type Tff7b72= Ta5d6ff"i8"Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3typeTb4b4b4.Te6edf3endsWithTb4b4b4(Ta5d6ff"*"Tb4b4b4)Tb4b4b4) Te6edf3type Tff7b72= Ta5d6ff"*"Tb4b4b4;
Tff7b72switch Tb4b4b4(Te6edf3typeTb4b4b4) Tb4b4b4{
Tff7b72case Ta5d6ff"i1"Tff7b72:
Tff7b72return Te6edf3HEAP8Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff0Tb4b4b4]Tb4b4b4;
Tff7b72case Ta5d6ff"i8"Tff7b72:
Tff7b72return Te6edf3HEAP8Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff0Tb4b4b4]Tb4b4b4;
Tff7b72case Ta5d6ff"i16"Tff7b72:
Tff7b72return Te6edf3HEAP16Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff1Tb4b4b4]Tb4b4b4;
Tff7b72case Ta5d6ff"i32"Tff7b72:
Tff7b72return Te6edf3HEAP32Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff2Tb4b4b4]Tb4b4b4;
Tff7b72case Ta5d6ff"i64"Tff7b72:
Tff7b72return Te6edf3HEAP32Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff2Tb4b4b4]Tb4b4b4;
Tff7b72case Ta5d6ff"float"Tff7b72:
Tff7b72return Te6edf3HEAPF32Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff2Tb4b4b4]Tb4b4b4;
Tff7b72case Ta5d6ff"double"Tff7b72:
Tff7b72return Te6edf3HEAPF64Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff3Tb4b4b4]Tb4b4b4;
Tff7b72case Ta5d6ff"*"Tff7b72:
Tff7b72return Te6edf3HEAPU32Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff2Tb4b4b4]Tb4b4b4;
Tff7b72defaultTff7b72:
Te6edf3abortTb4b4b4(Ta5d6ff"invalid type for getValue: " Tff7b72+ Te6edf3typeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72nullTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3ptrToStringTb4b4b4(Te6edf3ptrTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"0x" Tff7b72+ Te6edf3ptrTb4b4b4.Te6edf3toStringTb4b4b4(T79c0ff16Tb4b4b4)Tb4b4b4.Te6edf3padStartTb4b4b4(T79c0ff8Tb4b4b4, Ta5d6ff"0"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e/**
* @param {number} ptr
* @param {number} value
* @param {string} type
*/
Tff7b72function Te6edf3setValueTb4b4b4(Te6edf3ptrTb4b4b4, Te6edf3valueTb4b4b4, Te6edf3type Tff7b72= Ta5d6ff"i8"Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3typeTb4b4b4.Te6edf3endsWithTb4b4b4(Ta5d6ff"*"Tb4b4b4)Tb4b4b4) Te6edf3type Tff7b72= Ta5d6ff"*"Tb4b4b4;
Tff7b72switch Tb4b4b4(Te6edf3typeTb4b4b4) Tb4b4b4{
Tff7b72case Ta5d6ff"i1"Tff7b72:
Te6edf3HEAP8Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff0Tb4b4b4] Tff7b72= Te6edf3valueTb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"i8"Tff7b72:
Te6edf3HEAP8Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff0Tb4b4b4] Tff7b72= Te6edf3valueTb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"i16"Tff7b72:
Te6edf3HEAP16Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff1Tb4b4b4] Tff7b72= Te6edf3valueTb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"i32"Tff7b72:
Te6edf3HEAP32Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3valueTb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"i64"Tff7b72:
Tb4b4b4(Tb4b4b4(Te6edf3tempI64 Tff7b72= Tb4b4b4[
Te6edf3value Tff7b72>>> T79c0ff0Tb4b4b4,
Tb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72= Te6edf3valueTb4b4b4)Tb4b4b4,
Tff7b72+Tffa657MathTb4b4b4.Te6edf3absTb4b4b4(Te6edf3tempDoubleTb4b4b4) Tff7b72>= T79c0ff1.0
Tff7b72? Te6edf3tempDouble Tff7b72> T79c0ff0.0
Tff7b72? Tb4b4b4(Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Tff7b72+Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3tempDouble Tff7b72/ T79c0ff4294967296.0Tb4b4b4)Tb4b4b4, T79c0ff4294967295.0Tb4b4b4) Tff7b72| T79c0ff0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: Tff7b72~Tff7b72~Tff7b72+Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72- Tff7b72+Tb4b4b4(Tff7b72~Tff7b72~Te6edf3tempDouble Tff7b72>>> T79c0ff0Tb4b4b4)Tb4b4b4) Tff7b72/ T79c0ff4294967296.0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: T79c0ff0Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3ptr Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"float"Tff7b72:
Te6edf3HEAPF32Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3valueTb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"double"Tff7b72:
Te6edf3HEAPF64Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff3Tb4b4b4] Tff7b72= Te6edf3valueTb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"*"Tff7b72:
Te6edf3HEAPU32Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3valueTb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72defaultTff7b72:
Te6edf3abortTb4b4b4(Ta5d6ff"invalid type for setValue: " Tff7b72+ Te6edf3typeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3warnOnceTb4b4b4(Te6edf3textTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3warnOnceTb4b4b4.Te6edf3shownTb4b4b4) Te6edf3warnOnceTb4b4b4.Te6edf3shown Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3warnOnceTb4b4b4.Te6edf3shownTb4b4b4[Te6edf3textTb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3warnOnceTb4b4b4.Te6edf3shownTb4b4b4[Te6edf3textTb4b4b4] Tff7b72= T79c0ff1Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ENVIRONMENT_IS_NODETb4b4b4) Te6edf3text Tff7b72= Ta5d6ff"warning: " Tff7b72+ Te6edf3textTb4b4b4;
Te6edf3errTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3___assert_failTb4b4b4(Te6edf3conditionTb4b4b4, Te6edf3filenameTb4b4b4, Te6edf3lineTb4b4b4, Te6edf3funcTb4b4b4) Tb4b4b4{
Te6edf3abortTb4b4b4(
Ta5d6ff"Assertion failed: " Tff7b72+
Te6edf3UTF8ToStringTb4b4b4(Te6edf3conditionTb4b4b4) Tff7b72+
Ta5d6ff", at: " Tff7b72+
Tb4b4b4[
Te6edf3filename Tff7b72? Te6edf3UTF8ToStringTb4b4b4(Te6edf3filenameTb4b4b4) Tff7b72: Ta5d6ff"unknown filename"Tb4b4b4,
Te6edf3lineTb4b4b4,
Te6edf3func Tff7b72? Te6edf3UTF8ToStringTb4b4b4(Te6edf3funcTb4b4b4) Tff7b72: Ta5d6ff"unknown function"Tb4b4b4,
Tb4b4b4]
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3PATH Tff7b72= Tb4b4b4{
Te6edf3isAbsTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4=> Te6edf3pathTb4b4b4.Te6edf3charAtTb4b4b4(T79c0ff0Tb4b4b4) Tff7b72=== Ta5d6ff"/"Tb4b4b4,
Te6edf3splitPathTff7b72: Tb4b4b4(Te6edf3filenameTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3splitPathRe Tff7b72= Ta5d6ff/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/Tb4b4b4;
Tff7b72return Te6edf3splitPathReTb4b4b4.Te6edf3execTb4b4b4(Te6edf3filenameTb4b4b4)Tb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3normalizeArrayTff7b72: Tb4b4b4(Te6edf3partsTb4b4b4, Te6edf3allowAboveRootTb4b4b4) Tb4b4b4=> Tb4b4b4{
T8b949e// if the path tries to go above the root, `up` ends up > 0
Tff7b72var Te6edf3up Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= Te6edf3partsTb4b4b4.Te6edf3length Tff7b72- T79c0ff1Tb4b4b4; Te6edf3i Tff7b72>= T79c0ff0Tb4b4b4; Te6edf3iTff7b72--Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3last Tff7b72= Te6edf3partsTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3last Tff7b72=== Ta5d6ff"."Tb4b4b4) Tb4b4b4{
Te6edf3partsTb4b4b4.Te6edf3spliceTb4b4b4(Te6edf3iTb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3last Tff7b72=== Ta5d6ff".."Tb4b4b4) Tb4b4b4{
Te6edf3partsTb4b4b4.Te6edf3spliceTb4b4b4(Te6edf3iTb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3upTff7b72++Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3upTb4b4b4) Tb4b4b4{
Te6edf3partsTb4b4b4.Te6edf3spliceTb4b4b4(Te6edf3iTb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3upTff7b72--Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// if the path is allowed to go above the root, restore leading ..s
Tff7b72if Tb4b4b4(Te6edf3allowAboveRootTb4b4b4) Tb4b4b4{
Tff7b72for Tb4b4b4(Tb4b4b4; Te6edf3upTb4b4b4; Te6edf3upTff7b72--Tb4b4b4) Tb4b4b4{
Te6edf3partsTb4b4b4.Te6edf3unshiftTb4b4b4(Ta5d6ff".."Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3partsTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3normalizeTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3isAbsolute Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3isAbsTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4,
Te6edf3trailingSlash Tff7b72= Te6edf3pathTb4b4b4.Te6edf3substrTb4b4b4(Tff7b72-T79c0ff1Tb4b4b4) Tff7b72=== Ta5d6ff"/"Tb4b4b4;
T8b949e// Normalize the path
Te6edf3path Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3normalizeArrayTb4b4b4(
Te6edf3pathTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3pTb4b4b4) Tb4b4b4=> Tff7b72!Tff7b72!Te6edf3pTb4b4b4)Tb4b4b4,
Tff7b72!Te6edf3isAbsolute
Tb4b4b4)Tb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3path Tff7b72&& Tff7b72!Te6edf3isAbsoluteTb4b4b4) Tb4b4b4{
Te6edf3path Tff7b72= Ta5d6ff"."Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3path Tff7b72&& Te6edf3trailingSlashTb4b4b4) Tb4b4b4{
Te6edf3path Tff7b72+= Ta5d6ff"/"Tb4b4b4;
Tb4b4b4}
Tff7b72return Tb4b4b4(Te6edf3isAbsolute Tff7b72? Ta5d6ff"/" Tff7b72: Ta5d6ff""Tb4b4b4) Tff7b72+ Te6edf3pathTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3dirnameTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3result Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3splitPathTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4,
Te6edf3root Tff7b72= Te6edf3resultTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4,
Te6edf3dir Tff7b72= Te6edf3resultTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3root Tff7b72&& Tff7b72!Te6edf3dirTb4b4b4) Tb4b4b4{
T8b949e// No dirname whatsoever
Tff7b72return Ta5d6ff"."Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3dirTb4b4b4) Tb4b4b4{
T8b949e// It has a dirname, strip trailing slash
Te6edf3dir Tff7b72= Te6edf3dirTb4b4b4.Te6edf3substrTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3dirTb4b4b4.Te6edf3length Tff7b72- T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3root Tff7b72+ Te6edf3dirTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3basenameTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4=> Tb4b4b4{
T8b949e// EMSCRIPTEN return '/'' for '/', not an empty string
Tff7b72if Tb4b4b4(Te6edf3path Tff7b72=== Ta5d6ff"/"Tb4b4b4) Tff7b72return Ta5d6ff"/"Tb4b4b4;
Te6edf3path Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3normalizeTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Te6edf3path Tff7b72= Te6edf3pathTb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/\/$/Tb4b4b4, Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3lastSlash Tff7b72= Te6edf3pathTb4b4b4.Te6edf3lastIndexOfTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3lastSlash Tff7b72=== Tff7b72-T79c0ff1Tb4b4b4) Tff7b72return Te6edf3pathTb4b4b4;
Tff7b72return Te6edf3pathTb4b4b4.Te6edf3substrTb4b4b4(Te6edf3lastSlash Tff7b72+ T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3joinTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3paths Tff7b72= Tffa657ArrayTb4b4b4.Te6edf3prototypeTb4b4b4.Te6edf3sliceTb4b4b4.Te6edf3callTb4b4b4(Te6edf3argumentsTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3PATHTb4b4b4.Te6edf3normalizeTb4b4b4(Te6edf3pathsTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3join2Tff7b72: Tb4b4b4(Te6edf3lTb4b4b4, Te6edf3rTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Te6edf3PATHTb4b4b4.Te6edf3normalizeTb4b4b4(Te6edf3l Tff7b72+ Ta5d6ff"/" Tff7b72+ Te6edf3rTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72function Te6edf3getRandomDeviceTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3crypto Tff7b72== Ta5d6ff"object" Tff7b72&& Tff7b72typeof Te6edf3cryptoTb4b4b4[Ta5d6ff"getRandomValues"Tb4b4b4] Tff7b72== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
T8b949e// for modern web browsers
Tff7b72var Te6edf3randomBuffer Tff7b72= Tff7b72new Tffa657Uint8ArrayTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tff7b72return Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3cryptoTb4b4b4.Te6edf3getRandomValuesTb4b4b4(Te6edf3randomBufferTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3randomBufferTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3ENVIRONMENT_IS_NODETb4b4b4) Tb4b4b4{
T8b949e// for nodejs with or without crypto support included
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3crypto_module Tff7b72= Te6edf3requireTb4b4b4(Ta5d6ff"crypto"Tb4b4b4)Tb4b4b4;
T8b949e// nodejs has crypto support
Tff7b72return Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3crypto_moduleTb4b4b4[Ta5d6ff"randomBytes"Tb4b4b4]Tb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
T8b949e// nodejs doesn't have crypto support
Tb4b4b4}
Tb4b4b4}
T8b949e// we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096
Tff7b72return Tb4b4b4(Tb4b4b4) Tb4b4b4=>
Te6edf3abortTb4b4b4(
Ta5d6ff"no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };"
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3PATH_FS Tff7b72= Tb4b4b4{
Te6edf3resolveTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3resolvedPath Tff7b72= Ta5d6ff""Tb4b4b4,
Te6edf3resolvedAbsolute Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= Te6edf3argumentsTb4b4b4.Te6edf3length Tff7b72- T79c0ff1Tb4b4b4; Te6edf3i Tff7b72>= Tff7b72-T79c0ff1 Tff7b72&& Tff7b72!Te6edf3resolvedAbsoluteTb4b4b4; Te6edf3iTff7b72--Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3path Tff7b72= Te6edf3i Tff7b72>= T79c0ff0 Tff7b72? Te6edf3argumentsTb4b4b4[Te6edf3iTb4b4b4] Tff7b72: Te6edf3FSTb4b4b4.Te6edf3cwdTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// Skip empty and invalid entries
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3path Tff7b72!= Ta5d6ff"string"Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Tf85149TypeErrorTb4b4b4(Ta5d6ff"Arguments to path.resolve must be strings"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Tff7b72!Te6edf3pathTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff""Tb4b4b4; T8b949e// an invalid portion invalidates the whole thing
Tb4b4b4}
Te6edf3resolvedPath Tff7b72= Te6edf3path Tff7b72+ Ta5d6ff"/" Tff7b72+ Te6edf3resolvedPathTb4b4b4;
Te6edf3resolvedAbsolute Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3isAbsTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// At this point the path should be resolved to a full absolute path, but
T8b949e// handle relative paths to be safe (might happen when process.cwd() fails)
Te6edf3resolvedPath Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3normalizeArrayTb4b4b4(
Te6edf3resolvedPathTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3pTb4b4b4) Tb4b4b4=> Tff7b72!Tff7b72!Te6edf3pTb4b4b4)Tb4b4b4,
Tff7b72!Te6edf3resolvedAbsolute
Tb4b4b4)Tb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72return Tb4b4b4(Te6edf3resolvedAbsolute Tff7b72? Ta5d6ff"/" Tff7b72: Ta5d6ff""Tb4b4b4) Tff7b72+ Te6edf3resolvedPath Tff7b72|| Ta5d6ff"."Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3relativeTff7b72: Tb4b4b4(Tff7b72fromTb4b4b4, Te6edf3toTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72from Tff7b72= Te6edf3PATH_FSTb4b4b4.Te6edf3resolveTb4b4b4(Tff7b72fromTb4b4b4)Tb4b4b4.Te6edf3substrTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3to Tff7b72= Te6edf3PATH_FSTb4b4b4.Te6edf3resolveTb4b4b4(Te6edf3toTb4b4b4)Tb4b4b4.Te6edf3substrTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tff7b72function Te6edf3trimTb4b4b4(Te6edf3arrTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3start Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72for Tb4b4b4(Tb4b4b4; Te6edf3start Tff7b72< Te6edf3arrTb4b4b4.Te6edf3lengthTb4b4b4; Te6edf3startTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3arrTb4b4b4[Te6edf3startTb4b4b4] Tff7b72!== Ta5d6ff""Tb4b4b4) Tff7b72breakTb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3end Tff7b72= Te6edf3arrTb4b4b4.Te6edf3length Tff7b72- T79c0ff1Tb4b4b4;
Tff7b72for Tb4b4b4(Tb4b4b4; Te6edf3end Tff7b72>= T79c0ff0Tb4b4b4; Te6edf3endTff7b72--Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3arrTb4b4b4[Te6edf3endTb4b4b4] Tff7b72!== Ta5d6ff""Tb4b4b4) Tff7b72breakTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3start Tff7b72> Te6edf3endTb4b4b4) Tff7b72return Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72return Te6edf3arrTb4b4b4.Te6edf3sliceTb4b4b4(Te6edf3startTb4b4b4, Te6edf3end Tff7b72- Te6edf3start Tff7b72+ T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3fromParts Tff7b72= Te6edf3trimTb4b4b4(Tff7b72fromTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3toParts Tff7b72= Te6edf3trimTb4b4b4(Te6edf3toTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3length Tff7b72= Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Te6edf3fromPartsTb4b4b4.Te6edf3lengthTb4b4b4, Te6edf3toPartsTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3samePartsLength Tff7b72= Te6edf3lengthTb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3lengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3fromPartsTb4b4b4[Te6edf3iTb4b4b4] Tff7b72!== Te6edf3toPartsTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3samePartsLength Tff7b72= Te6edf3iTb4b4b4;
Tff7b72breakTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72var Te6edf3outputParts Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= Te6edf3samePartsLengthTb4b4b4; Te6edf3i Tff7b72< Te6edf3fromPartsTb4b4b4.Te6edf3lengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Te6edf3outputPartsTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff".."Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3outputParts Tff7b72= Te6edf3outputPartsTb4b4b4.Te6edf3concatTb4b4b4(Te6edf3toPartsTb4b4b4.Te6edf3sliceTb4b4b4(Te6edf3samePartsLengthTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3outputPartsTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
T8b949e/** @type {function(string, boolean=, number=)} */
Tff7b72function Te6edf3intArrayFromStringTb4b4b4(Te6edf3stringyTb4b4b4, Te6edf3dontAddNullTb4b4b4, Te6edf3lengthTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3len Tff7b72= Te6edf3length Tff7b72> T79c0ff0 Tff7b72? Te6edf3length Tff7b72: Te6edf3lengthBytesUTF8Tb4b4b4(Te6edf3stringyTb4b4b4) Tff7b72+ T79c0ff1Tb4b4b4;
Tff7b72var Te6edf3u8array Tff7b72= Tff7b72new Tffa657ArrayTb4b4b4(Te6edf3lenTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3numBytesWritten Tff7b72= Te6edf3stringToUTF8ArrayTb4b4b4(Te6edf3stringyTb4b4b4, Te6edf3u8arrayTb4b4b4, T79c0ff0Tb4b4b4, Te6edf3u8arrayTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3dontAddNullTb4b4b4) Te6edf3u8arrayTb4b4b4.Te6edf3length Tff7b72= Te6edf3numBytesWrittenTb4b4b4;
Tff7b72return Te6edf3u8arrayTb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3TTY Tff7b72= Tb4b4b4{
Te6edf3ttysTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3initTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// https://github.com/emscripten-core/emscripten/pull/1555
T8b949e// if (ENVIRONMENT_IS_NODE) {
T8b949e// // currently, FS.init does not distinguish if process.stdin is a file or TTY
T8b949e// // device, it always assumes it's a TTY device. because of this, we're forcing
T8b949e// // process.stdin to UTF8 encoding to at least make stdin reading compatible
T8b949e// // with text files until FS.init can be refactored.
T8b949e// process['stdin']['setEncoding']('utf8');
T8b949e// }
Tb4b4b4}Tb4b4b4,
Te6edf3shutdownTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// https://github.com/emscripten-core/emscripten/pull/1555
T8b949e// if (ENVIRONMENT_IS_NODE) {
T8b949e// // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)?
T8b949e// // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation
T8b949e// // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists?
T8b949e// // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle
T8b949e// // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call
T8b949e// process['stdin']['pause']();
T8b949e// }
Tb4b4b4}Tb4b4b4,
Te6edf3registerTff7b72: Tff7b72function Tb4b4b4(Te6edf3devTb4b4b4, Te6edf3opsTb4b4b4) Tb4b4b4{
Te6edf3TTYTb4b4b4.Te6edf3ttysTb4b4b4[Te6edf3devTb4b4b4] Tff7b72= Tb4b4b4{ Te6edf3inputTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4, Te6edf3outputTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4, Te6edf3opsTff7b72: Te6edf3ops Tb4b4b4}Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3registerDeviceTb4b4b4(Te6edf3devTb4b4b4, Te6edf3TTYTb4b4b4.Te6edf3stream_opsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3stream_opsTff7b72: Tb4b4b4{
Te6edf3openTff7b72: Tff7b72function Tb4b4b4(Te6edf3streamTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3tty Tff7b72= Te6edf3TTYTb4b4b4.Te6edf3ttysTb4b4b4[Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3rdevTb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3ttyTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff43Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3streamTb4b4b4.Te6edf3tty Tff7b72= Te6edf3ttyTb4b4b4;
Te6edf3streamTb4b4b4.Te6edf3seekable Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3closeTff7b72: Tff7b72function Tb4b4b4(Te6edf3streamTb4b4b4) Tb4b4b4{
T8b949e// flush any pending line data
Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4.Te6edf3opsTb4b4b4.Te6edf3fsyncTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3fsyncTff7b72: Tff7b72function Tb4b4b4(Te6edf3streamTb4b4b4) Tb4b4b4{
Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4.Te6edf3opsTb4b4b4.Te6edf3fsyncTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3readTff7b72: Tff7b72function Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3pos T8b949e/* ignored */Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3tty Tff7b72|| Tff7b72!Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4.Te6edf3opsTb4b4b4.Te6edf3get_charTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff60Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3bytesRead Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3lengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3resultTb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3result Tff7b72= Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4.Te6edf3opsTb4b4b4.Te6edf3get_charTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff29Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3result Tff7b72=== Tff7b72undefined Tff7b72&& Te6edf3bytesRead Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff6Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3result Tff7b72=== Tff7b72null Tff7b72|| Te6edf3result Tff7b72=== Tff7b72undefinedTb4b4b4) Tff7b72breakTb4b4b4;
Te6edf3bytesReadTff7b72++Tb4b4b4;
Te6edf3bufferTb4b4b4[Te6edf3offset Tff7b72+ Te6edf3iTb4b4b4] Tff7b72= Te6edf3resultTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3bytesReadTb4b4b4) Tb4b4b4{
Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3timestamp Tff7b72= Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3bytesReadTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3writeTff7b72: Tff7b72function Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3posTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3tty Tff7b72|| Tff7b72!Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4.Te6edf3opsTb4b4b4.Te6edf3put_charTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff60Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72try Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3lengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4.Te6edf3opsTb4b4b4.Te6edf3put_charTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4, Te6edf3bufferTb4b4b4[Te6edf3offset Tff7b72+ Te6edf3iTb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff29Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3lengthTb4b4b4) Tb4b4b4{
Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3timestamp Tff7b72= Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3iTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3default_tty_opsTff7b72: Tb4b4b4{
Te6edf3get_charTff7b72: Tff7b72function Tb4b4b4(Te6edf3ttyTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3ttyTb4b4b4.Te6edf3inputTb4b4b4.Te6edf3lengthTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3result Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ENVIRONMENT_IS_NODETb4b4b4) Tb4b4b4{
T8b949e// we will read data by chunks of BUFSIZE
Tff7b72var Te6edf3BUFSIZE Tff7b72= T79c0ff256Tb4b4b4;
Tff7b72var Te6edf3buf Tff7b72= Te6edf3BufferTb4b4b4.Te6edf3allocTb4b4b4(Te6edf3BUFSIZETb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3bytesRead Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3bytesRead Tff7b72= Te6edf3fsTb4b4b4.Te6edf3readSyncTb4b4b4(Te6edf3processTb4b4b4.Te6edf3stdinTb4b4b4.Te6edf3fdTb4b4b4, Te6edf3bufTb4b4b4, T79c0ff0Tb4b4b4, Te6edf3BUFSIZETb4b4b4, Tff7b72-T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
T8b949e// Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes,
T8b949e// reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0.
Tff7b72if Tb4b4b4(Te6edf3eTb4b4b4.Te6edf3toStringTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"EOF"Tb4b4b4)Tb4b4b4) Te6edf3bytesRead Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72else Tff7b72throw Te6edf3eTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3bytesRead Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3result Tff7b72= Te6edf3bufTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3bytesReadTb4b4b4)Tb4b4b4.Te6edf3toStringTb4b4b4(Ta5d6ff"utf-8"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3result Tff7b72= Tff7b72nullTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Tff7b72typeof Tffa657window Tff7b72!= Ta5d6ff"undefined" Tff7b72&& Tff7b72typeof Tffa657windowTb4b4b4.Te6edf3prompt Tff7b72== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
T8b949e// Browser.
Te6edf3result Tff7b72= Tffa657windowTb4b4b4.Te6edf3promptTb4b4b4(Ta5d6ff"Input: "Tb4b4b4)Tb4b4b4; T8b949e// returns null on cancel
Tff7b72if Tb4b4b4(Te6edf3result Tff7b72!== Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3result Tff7b72+= Ta5d6ff"\n"Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3readline Tff7b72== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
T8b949e// Command line.
Te6edf3result Tff7b72= Te6edf3readlineTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3result Tff7b72!== Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3result Tff7b72+= Ta5d6ff"\n"Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3resultTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72nullTb4b4b4;
Tb4b4b4}
Te6edf3ttyTb4b4b4.Te6edf3input Tff7b72= Te6edf3intArrayFromStringTb4b4b4(Te6edf3resultTb4b4b4, Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3ttyTb4b4b4.Te6edf3inputTb4b4b4.Te6edf3shiftTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3put_charTff7b72: Tff7b72function Tb4b4b4(Te6edf3ttyTb4b4b4, Te6edf3valTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3val Tff7b72=== Tff7b72null Tff7b72|| Te6edf3val Tff7b72=== T79c0ff10Tb4b4b4) Tb4b4b4{
Te6edf3outTb4b4b4(Te6edf3UTF8ArrayToStringTb4b4b4(Te6edf3ttyTb4b4b4.Te6edf3outputTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3ttyTb4b4b4.Te6edf3output Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3val Tff7b72!= T79c0ff0Tb4b4b4) Te6edf3ttyTb4b4b4.Te6edf3outputTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3valTb4b4b4)Tb4b4b4; T8b949e// val == 0 would cut text output off in the middle.
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3fsyncTff7b72: Tff7b72function Tb4b4b4(Te6edf3ttyTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3ttyTb4b4b4.Te6edf3output Tff7b72&& Te6edf3ttyTb4b4b4.Te6edf3outputTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3outTb4b4b4(Te6edf3UTF8ArrayToStringTb4b4b4(Te6edf3ttyTb4b4b4.Te6edf3outputTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3ttyTb4b4b4.Te6edf3output Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3default_tty1_opsTff7b72: Tb4b4b4{
Te6edf3put_charTff7b72: Tff7b72function Tb4b4b4(Te6edf3ttyTb4b4b4, Te6edf3valTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3val Tff7b72=== Tff7b72null Tff7b72|| Te6edf3val Tff7b72=== T79c0ff10Tb4b4b4) Tb4b4b4{
Te6edf3errTb4b4b4(Te6edf3UTF8ArrayToStringTb4b4b4(Te6edf3ttyTb4b4b4.Te6edf3outputTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3ttyTb4b4b4.Te6edf3output Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3val Tff7b72!= T79c0ff0Tb4b4b4) Te6edf3ttyTb4b4b4.Te6edf3outputTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3valTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3fsyncTff7b72: Tff7b72function Tb4b4b4(Te6edf3ttyTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3ttyTb4b4b4.Te6edf3output Tff7b72&& Te6edf3ttyTb4b4b4.Te6edf3outputTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3errTb4b4b4(Te6edf3UTF8ArrayToStringTb4b4b4(Te6edf3ttyTb4b4b4.Te6edf3outputTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3ttyTb4b4b4.Te6edf3output Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72function Te6edf3zeroMemoryTb4b4b4(Te6edf3addressTb4b4b4, Te6edf3sizeTb4b4b4) Tb4b4b4{
Te6edf3HEAPU8Tb4b4b4.Te6edf3fillTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3addressTb4b4b4, Te6edf3address Tff7b72+ Te6edf3sizeTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3addressTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3alignMemoryTb4b4b4(Te6edf3sizeTb4b4b4, Te6edf3alignmentTb4b4b4) Tb4b4b4{
Te6edf3assertTb4b4b4(Te6edf3alignmentTb4b4b4, Ta5d6ff"alignment argument is required"Tb4b4b4)Tb4b4b4;
Tff7b72return Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Te6edf3size Tff7b72/ Te6edf3alignmentTb4b4b4) Tff7b72* Te6edf3alignmentTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3mmapAllocTb4b4b4(Te6edf3sizeTb4b4b4) Tb4b4b4{
Te6edf3abortTb4b4b4(Ta5d6ff"internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3MEMFS Tff7b72= Tb4b4b4{
Te6edf3ops_tableTff7b72: Tff7b72nullTb4b4b4,
Te6edf3mountTff7b72: Tff7b72function Tb4b4b4(Te6edf3mountTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3MEMFSTb4b4b4.Te6edf3createNodeTb4b4b4(Tff7b72nullTb4b4b4, Ta5d6ff"/"Tb4b4b4, T79c0ff16384 Tff7b72| T79c0ff511 T8b949e/* 0777 */Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createNodeTff7b72: Tff7b72function Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3modeTb4b4b4, Te6edf3devTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isBlkdevTb4b4b4(Te6edf3modeTb4b4b4) Tff7b72|| Te6edf3FSTb4b4b4.Te6edf3isFIFOTb4b4b4(Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
T8b949e// no supported
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff63Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3MEMFSTb4b4b4.Te6edf3ops_tableTb4b4b4) Tb4b4b4{
Te6edf3MEMFSTb4b4b4.Te6edf3ops_table Tff7b72= Tb4b4b4{
Te6edf3dirTff7b72: Tb4b4b4{
Te6edf3nodeTff7b72: Tb4b4b4{
Te6edf3getattrTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3getattrTb4b4b4,
Te6edf3setattrTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3setattrTb4b4b4,
Te6edf3lookupTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3lookupTb4b4b4,
Te6edf3mknodTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3mknodTb4b4b4,
Te6edf3renameTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3renameTb4b4b4,
Te6edf3unlinkTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3unlinkTb4b4b4,
Te6edf3rmdirTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3rmdirTb4b4b4,
Te6edf3readdirTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3readdirTb4b4b4,
Te6edf3symlinkTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3symlinkTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3streamTff7b72: Tb4b4b4{
Te6edf3llseekTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3llseekTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3fileTff7b72: Tb4b4b4{
Te6edf3nodeTff7b72: Tb4b4b4{
Te6edf3getattrTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3getattrTb4b4b4,
Te6edf3setattrTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3setattrTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3streamTff7b72: Tb4b4b4{
Te6edf3llseekTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3llseekTb4b4b4,
Te6edf3readTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3readTb4b4b4,
Te6edf3writeTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3writeTb4b4b4,
Te6edf3allocateTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3allocateTb4b4b4,
Te6edf3mmapTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3mmapTb4b4b4,
Te6edf3msyncTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3msyncTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3linkTff7b72: Tb4b4b4{
Te6edf3nodeTff7b72: Tb4b4b4{
Te6edf3getattrTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3getattrTb4b4b4,
Te6edf3setattrTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3setattrTb4b4b4,
Te6edf3readlinkTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3readlinkTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3streamTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3chrdevTff7b72: Tb4b4b4{
Te6edf3nodeTff7b72: Tb4b4b4{
Te6edf3getattrTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3getattrTb4b4b4,
Te6edf3setattrTff7b72: Te6edf3MEMFSTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3setattrTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3streamTff7b72: Te6edf3FSTb4b4b4.Te6edf3chrdev_stream_opsTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3node Tff7b72= Te6edf3FSTb4b4b4.Te6edf3createNodeTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3modeTb4b4b4, Te6edf3devTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3nodeTb4b4b4.Te6edf3node_ops Tff7b72= Te6edf3MEMFSTb4b4b4.Te6edf3ops_tableTb4b4b4.Te6edf3dirTb4b4b4.Te6edf3nodeTb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3stream_ops Tff7b72= Te6edf3MEMFSTb4b4b4.Te6edf3ops_tableTb4b4b4.Te6edf3dirTb4b4b4.Te6edf3streamTb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3contents Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isFileTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3nodeTb4b4b4.Te6edf3node_ops Tff7b72= Te6edf3MEMFSTb4b4b4.Te6edf3ops_tableTb4b4b4.Te6edf3fileTb4b4b4.Te6edf3nodeTb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3stream_ops Tff7b72= Te6edf3MEMFSTb4b4b4.Te6edf3ops_tableTb4b4b4.Te6edf3fileTb4b4b4.Te6edf3streamTb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3usedBytes Tff7b72= T79c0ff0Tb4b4b4; T8b949e// The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity.
T8b949e// When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred
T8b949e// for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size
T8b949e// penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme.
Te6edf3nodeTb4b4b4.Te6edf3contents Tff7b72= Tff7b72nullTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isLinkTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3nodeTb4b4b4.Te6edf3node_ops Tff7b72= Te6edf3MEMFSTb4b4b4.Te6edf3ops_tableTb4b4b4.Te6edf3linkTb4b4b4.Te6edf3nodeTb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3stream_ops Tff7b72= Te6edf3MEMFSTb4b4b4.Te6edf3ops_tableTb4b4b4.Te6edf3linkTb4b4b4.Te6edf3streamTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isChrdevTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3nodeTb4b4b4.Te6edf3node_ops Tff7b72= Te6edf3MEMFSTb4b4b4.Te6edf3ops_tableTb4b4b4.Te6edf3chrdevTb4b4b4.Te6edf3nodeTb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3stream_ops Tff7b72= Te6edf3MEMFSTb4b4b4.Te6edf3ops_tableTb4b4b4.Te6edf3chrdevTb4b4b4.Te6edf3streamTb4b4b4;
Tb4b4b4}
Te6edf3nodeTb4b4b4.Te6edf3timestamp Tff7b72= Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// add the new node to the parent
Tff7b72if Tb4b4b4(Te6edf3parentTb4b4b4) Tb4b4b4{
Te6edf3parentTb4b4b4.Te6edf3contentsTb4b4b4[Te6edf3nameTb4b4b4] Tff7b72= Te6edf3nodeTb4b4b4;
Te6edf3parentTb4b4b4.Te6edf3timestamp Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3timestampTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3nodeTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3getFileDataAsTypedArrayTff7b72: Tff7b72function Tb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4) Tff7b72return Tff7b72new Tffa657Uint8ArrayTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4.Te6edf3subarrayTb4b4b4) Tff7b72return Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4.Te6edf3subarrayTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3nodeTb4b4b4.Te6edf3usedBytesTb4b4b4)Tb4b4b4; T8b949e// Make sure to not return excess unused bytes.
Tff7b72return Tff7b72new Tffa657Uint8ArrayTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3expandFileStorageTff7b72: Tff7b72function Tb4b4b4(Te6edf3nodeTb4b4b4, Te6edf3newCapacityTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3prevCapacity Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3contents Tff7b72? Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4.Te6edf3length Tff7b72: T79c0ff0Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3prevCapacity Tff7b72>= Te6edf3newCapacityTb4b4b4) Tff7b72returnTb4b4b4; T8b949e// No need to expand, the storage was already large enough.
T8b949e// Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity.
T8b949e// For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to
T8b949e// avoid overshooting the allocation cap by a very large margin.
Tff7b72var Te6edf3CAPACITY_DOUBLING_MAX Tff7b72= T79c0ff1024 Tff7b72* T79c0ff1024Tb4b4b4;
Te6edf3newCapacity Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(
Te6edf3newCapacityTb4b4b4,
Tb4b4b4(Te6edf3prevCapacity Tff7b72* Tb4b4b4(Te6edf3prevCapacity Tff7b72< Te6edf3CAPACITY_DOUBLING_MAX Tff7b72? T79c0ff2.0 Tff7b72: T79c0ff1.125Tb4b4b4)Tb4b4b4) Tff7b72>>> T79c0ff0
Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3prevCapacity Tff7b72!= T79c0ff0Tb4b4b4) Te6edf3newCapacity Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(Te6edf3newCapacityTb4b4b4, T79c0ff256Tb4b4b4)Tb4b4b4; T8b949e// At minimum allocate 256b for each file when expanding.
Tff7b72var Te6edf3oldContents Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3contents Tff7b72= Tff7b72new Tffa657Uint8ArrayTb4b4b4(Te6edf3newCapacityTb4b4b4)Tb4b4b4; T8b949e// Allocate new storage.
Tff7b72if Tb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3usedBytes Tff7b72> T79c0ff0Tb4b4b4) Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4.Te6edf3setTb4b4b4(Te6edf3oldContentsTb4b4b4.Te6edf3subarrayTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3nodeTb4b4b4.Te6edf3usedBytesTb4b4b4)Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4; T8b949e// Copy old data over to the new storage.
Tb4b4b4}Tb4b4b4,
Te6edf3resizeFileStorageTff7b72: Tff7b72function Tb4b4b4(Te6edf3nodeTb4b4b4, Te6edf3newSizeTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3usedBytes Tff7b72== Te6edf3newSizeTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3newSize Tff7b72== T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3nodeTb4b4b4.Te6edf3contents Tff7b72= Tff7b72nullTb4b4b4; T8b949e// Fully decommit when requesting a resize to zero.
Te6edf3nodeTb4b4b4.Te6edf3usedBytes Tff7b72= T79c0ff0Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72var Te6edf3oldContents Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3contents Tff7b72= Tff7b72new Tffa657Uint8ArrayTb4b4b4(Te6edf3newSizeTb4b4b4)Tb4b4b4; T8b949e// Allocate new storage.
Tff7b72if Tb4b4b4(Te6edf3oldContentsTb4b4b4) Tb4b4b4{
Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4.Te6edf3setTb4b4b4(Te6edf3oldContentsTb4b4b4.Te6edf3subarrayTb4b4b4(T79c0ff0Tb4b4b4, Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Te6edf3newSizeTb4b4b4, Te6edf3nodeTb4b4b4.Te6edf3usedBytesTb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4; T8b949e// Copy old data over to the new storage.
Tb4b4b4}
Te6edf3nodeTb4b4b4.Te6edf3usedBytes Tff7b72= Te6edf3newSizeTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3node_opsTff7b72: Tb4b4b4{
Te6edf3getattrTff7b72: Tff7b72function Tb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3attr Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
T8b949e// device numbers reuse inode numbers.
Te6edf3attrTb4b4b4.Te6edf3dev Tff7b72= Te6edf3FSTb4b4b4.Te6edf3isChrdevTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4) Tff7b72? Te6edf3nodeTb4b4b4.Te6edf3id Tff7b72: T79c0ff1Tb4b4b4;
Te6edf3attrTb4b4b4.Te6edf3ino Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3idTb4b4b4;
Te6edf3attrTb4b4b4.Te6edf3mode Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4;
Te6edf3attrTb4b4b4.Te6edf3nlink Tff7b72= T79c0ff1Tb4b4b4;
Te6edf3attrTb4b4b4.Te6edf3uid Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3attrTb4b4b4.Te6edf3gid Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3attrTb4b4b4.Te6edf3rdev Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3rdevTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3attrTb4b4b4.Te6edf3size Tff7b72= T79c0ff4096Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isFileTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3attrTb4b4b4.Te6edf3size Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3usedBytesTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isLinkTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3attrTb4b4b4.Te6edf3size Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3linkTb4b4b4.Te6edf3lengthTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3attrTb4b4b4.Te6edf3size Tff7b72= T79c0ff0Tb4b4b4;
Tb4b4b4}
Te6edf3attrTb4b4b4.Te6edf3atime Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3timestampTb4b4b4)Tb4b4b4;
Te6edf3attrTb4b4b4.Te6edf3mtime Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3timestampTb4b4b4)Tb4b4b4;
Te6edf3attrTb4b4b4.Te6edf3ctime Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3timestampTb4b4b4)Tb4b4b4;
T8b949e// NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize),
T8b949e// but this is not required by the standard.
Te6edf3attrTb4b4b4.Te6edf3blksize Tff7b72= T79c0ff4096Tb4b4b4;
Te6edf3attrTb4b4b4.Te6edf3blocks Tff7b72= Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Te6edf3attrTb4b4b4.Te6edf3size Tff7b72/ Te6edf3attrTb4b4b4.Te6edf3blksizeTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3attrTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3setattrTff7b72: Tff7b72function Tb4b4b4(Te6edf3nodeTb4b4b4, Te6edf3attrTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3attrTb4b4b4.Te6edf3mode Tff7b72!== Tff7b72undefinedTb4b4b4) Tb4b4b4{
Te6edf3nodeTb4b4b4.Te6edf3mode Tff7b72= Te6edf3attrTb4b4b4.Te6edf3modeTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3attrTb4b4b4.Te6edf3timestamp Tff7b72!== Tff7b72undefinedTb4b4b4) Tb4b4b4{
Te6edf3nodeTb4b4b4.Te6edf3timestamp Tff7b72= Te6edf3attrTb4b4b4.Te6edf3timestampTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3attrTb4b4b4.Te6edf3size Tff7b72!== Tff7b72undefinedTb4b4b4) Tb4b4b4{
Te6edf3MEMFSTb4b4b4.Te6edf3resizeFileStorageTb4b4b4(Te6edf3nodeTb4b4b4, Te6edf3attrTb4b4b4.Te6edf3sizeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3lookupTff7b72: Tff7b72function Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4) Tb4b4b4{
Tff7b72throw Te6edf3FSTb4b4b4.Te6edf3genericErrorsTb4b4b4[T79c0ff44Tb4b4b4]Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mknodTff7b72: Tff7b72function Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3modeTb4b4b4, Te6edf3devTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3MEMFSTb4b4b4.Te6edf3createNodeTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3modeTb4b4b4, Te6edf3devTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3renameTff7b72: Tff7b72function Tb4b4b4(Te6edf3old_nodeTb4b4b4, Te6edf3new_dirTb4b4b4, Te6edf3new_nameTb4b4b4) Tb4b4b4{
T8b949e// if we're overwriting a directory at new_name, make sure it's empty.
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3old_nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3new_nodeTb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3new_node Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupNodeTb4b4b4(Te6edf3new_dirTb4b4b4, Te6edf3new_nameTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3new_nodeTb4b4b4) Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72in Te6edf3new_nodeTb4b4b4.Te6edf3contentsTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff55Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
T8b949e// do the internal rewiring
Tff7b72delete Te6edf3old_nodeTb4b4b4.Te6edf3parentTb4b4b4.Te6edf3contentsTb4b4b4[Te6edf3old_nodeTb4b4b4.Te6edf3nameTb4b4b4]Tb4b4b4;
Te6edf3old_nodeTb4b4b4.Te6edf3parentTb4b4b4.Te6edf3timestamp Tff7b72= Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3old_nodeTb4b4b4.Te6edf3name Tff7b72= Te6edf3new_nameTb4b4b4;
Te6edf3new_dirTb4b4b4.Te6edf3contentsTb4b4b4[Te6edf3new_nameTb4b4b4] Tff7b72= Te6edf3old_nodeTb4b4b4;
Te6edf3new_dirTb4b4b4.Te6edf3timestamp Tff7b72= Te6edf3old_nodeTb4b4b4.Te6edf3parentTb4b4b4.Te6edf3timestampTb4b4b4;
Te6edf3old_nodeTb4b4b4.Te6edf3parent Tff7b72= Te6edf3new_dirTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3unlinkTff7b72: Tff7b72function Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4) Tb4b4b4{
Tff7b72delete Te6edf3parentTb4b4b4.Te6edf3contentsTb4b4b4[Te6edf3nameTb4b4b4]Tb4b4b4;
Te6edf3parentTb4b4b4.Te6edf3timestamp Tff7b72= Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3rmdirTff7b72: Tff7b72function Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3node Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupNodeTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72in Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff55Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72delete Te6edf3parentTb4b4b4.Te6edf3contentsTb4b4b4[Te6edf3nameTb4b4b4]Tb4b4b4;
Te6edf3parentTb4b4b4.Te6edf3timestamp Tff7b72= Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3readdirTff7b72: Tff7b72function Tb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3entries Tff7b72= Tb4b4b4[Ta5d6ff"."Tb4b4b4, Ta5d6ff".."Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3key Tff7b72in Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4.Te6edf3hasOwnPropertyTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}
Te6edf3entriesTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3entriesTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3symlinkTff7b72: Tff7b72function Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3newnameTb4b4b4, Te6edf3oldpathTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3node Tff7b72= Te6edf3MEMFSTb4b4b4.Te6edf3createNodeTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3newnameTb4b4b4, T79c0ff511 T8b949e/* 0777 */ Tff7b72| T79c0ff40960Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3link Tff7b72= Te6edf3oldpathTb4b4b4;
Tff7b72return Te6edf3nodeTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3readlinkTff7b72: Tff7b72function Tb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3FSTb4b4b4.Te6edf3isLinkTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3nodeTb4b4b4.Te6edf3linkTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3stream_opsTff7b72: Tb4b4b4{
Te6edf3readTff7b72: Tff7b72function Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3positionTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3contents Tff7b72= Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3position Tff7b72>= Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3usedBytesTb4b4b4) Tff7b72return T79c0ff0Tb4b4b4;
Tff7b72var Te6edf3size Tff7b72= Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3usedBytes Tff7b72- Te6edf3positionTb4b4b4, Te6edf3lengthTb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(Te6edf3size Tff7b72>= T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3size Tff7b72> T79c0ff8 Tff7b72&& Te6edf3contentsTb4b4b4.Te6edf3subarrayTb4b4b4) Tb4b4b4{
T8b949e// non-trivial, and typed array
Te6edf3bufferTb4b4b4.Te6edf3setTb4b4b4(Te6edf3contentsTb4b4b4.Te6edf3subarrayTb4b4b4(Te6edf3positionTb4b4b4, Te6edf3position Tff7b72+ Te6edf3sizeTb4b4b4)Tb4b4b4, Te6edf3offsetTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3sizeTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Te6edf3bufferTb4b4b4[Te6edf3offset Tff7b72+ Te6edf3iTb4b4b4] Tff7b72= Te6edf3contentsTb4b4b4[Te6edf3position Tff7b72+ Te6edf3iTb4b4b4]Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3sizeTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3writeTff7b72: Tff7b72function Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3positionTb4b4b4, Te6edf3canOwnTb4b4b4) Tb4b4b4{
T8b949e// The data buffer should be a typed array view
Te6edf3assertTb4b4b4(Tff7b72!Tb4b4b4(Te6edf3buffer Tff7b72instanceof Tffa657ArrayBufferTb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e// If the buffer is located in main memory (HEAP), and if
T8b949e// memory can grow, we can't hold on to references of the
T8b949e// memory buffer, as they may get invalidated. That means we
T8b949e// need to do copy its contents.
Tff7b72if Tb4b4b4(Te6edf3bufferTb4b4b4.Te6edf3buffer Tff7b72=== Te6edf3HEAP8Tb4b4b4.Te6edf3bufferTb4b4b4) Tb4b4b4{
Te6edf3canOwn Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3lengthTb4b4b4) Tff7b72return T79c0ff0Tb4b4b4;
Tff7b72var Te6edf3node Tff7b72= Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3timestamp Tff7b72= Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3bufferTb4b4b4.Te6edf3subarray Tff7b72&& Tb4b4b4(Tff7b72!Te6edf3nodeTb4b4b4.Te6edf3contents Tff7b72|| Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4.Te6edf3subarrayTb4b4b4)Tb4b4b4) Tb4b4b4{
T8b949e// This write is from a typed array to a typed array?
Tff7b72if Tb4b4b4(Te6edf3canOwnTb4b4b4) Tb4b4b4{
Te6edf3assertTb4b4b4(Te6edf3position Tff7b72=== T79c0ff0Tb4b4b4, Ta5d6ff"canOwn must imply no weird position inside the file"Tb4b4b4)Tb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3contents Tff7b72= Te6edf3bufferTb4b4b4.Te6edf3subarrayTb4b4b4(Te6edf3offsetTb4b4b4, Te6edf3offset Tff7b72+ Te6edf3lengthTb4b4b4)Tb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3usedBytes Tff7b72= Te6edf3lengthTb4b4b4;
Tff7b72return Te6edf3lengthTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3usedBytes Tff7b72=== T79c0ff0 Tff7b72&& Te6edf3position Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
T8b949e// If this is a simple first write to an empty file, do a fast set since we don't need to care about old data.
Te6edf3nodeTb4b4b4.Te6edf3contents Tff7b72= Te6edf3bufferTb4b4b4.Te6edf3sliceTb4b4b4(Te6edf3offsetTb4b4b4, Te6edf3offset Tff7b72+ Te6edf3lengthTb4b4b4)Tb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3usedBytes Tff7b72= Te6edf3lengthTb4b4b4;
Tff7b72return Te6edf3lengthTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3position Tff7b72+ Te6edf3length Tff7b72<= Te6edf3nodeTb4b4b4.Te6edf3usedBytesTb4b4b4) Tb4b4b4{
T8b949e// Writing to an already allocated and used subrange of the file?
Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4.Te6edf3setTb4b4b4(Te6edf3bufferTb4b4b4.Te6edf3subarrayTb4b4b4(Te6edf3offsetTb4b4b4, Te6edf3offset Tff7b72+ Te6edf3lengthTb4b4b4)Tb4b4b4, Te6edf3positionTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3lengthTb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// Appending to an existing file and we need to reallocate, or source data did not come as a typed array.
Te6edf3MEMFSTb4b4b4.Te6edf3expandFileStorageTb4b4b4(Te6edf3nodeTb4b4b4, Te6edf3position Tff7b72+ Te6edf3lengthTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4.Te6edf3subarray Tff7b72&& Te6edf3bufferTb4b4b4.Te6edf3subarrayTb4b4b4) Tb4b4b4{
T8b949e// Use typed array write which is available.
Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4.Te6edf3setTb4b4b4(Te6edf3bufferTb4b4b4.Te6edf3subarrayTb4b4b4(Te6edf3offsetTb4b4b4, Te6edf3offset Tff7b72+ Te6edf3lengthTb4b4b4)Tb4b4b4, Te6edf3positionTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3lengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4[Te6edf3position Tff7b72+ Te6edf3iTb4b4b4] Tff7b72= Te6edf3bufferTb4b4b4[Te6edf3offset Tff7b72+ Te6edf3iTb4b4b4]Tb4b4b4; T8b949e// Or fall back to manual write if not.
Tb4b4b4}
Tb4b4b4}
Te6edf3nodeTb4b4b4.Te6edf3usedBytes Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3usedBytesTb4b4b4, Te6edf3position Tff7b72+ Te6edf3lengthTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3lengthTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3llseekTff7b72: Tff7b72function Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3whenceTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3position Tff7b72= Te6edf3offsetTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3whence Tff7b72=== T79c0ff1Tb4b4b4) Tb4b4b4{
Te6edf3position Tff7b72+= Te6edf3streamTb4b4b4.Te6edf3positionTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3whence Tff7b72=== T79c0ff2Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isFileTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3position Tff7b72+= Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3usedBytesTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3position Tff7b72< T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3positionTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3allocateTff7b72: Tff7b72function Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4) Tb4b4b4{
Te6edf3MEMFSTb4b4b4.Te6edf3expandFileStorageTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4, Te6edf3offset Tff7b72+ Te6edf3lengthTb4b4b4)Tb4b4b4;
Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3usedBytes Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3usedBytesTb4b4b4, Te6edf3offset Tff7b72+ Te6edf3lengthTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mmapTff7b72: Tff7b72function Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3positionTb4b4b4, Te6edf3protTb4b4b4, Te6edf3flagsTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3FSTb4b4b4.Te6edf3isFileTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff43Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3ptrTb4b4b4;
Tff7b72var Te6edf3allocatedTb4b4b4;
Tff7b72var Te6edf3contents Tff7b72= Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4;
T8b949e// Only make a new copy when MAP_PRIVATE is specified.
Tff7b72if Tb4b4b4(Tff7b72!Tb4b4b4(Te6edf3flags Tff7b72& T79c0ff2Tb4b4b4) Tff7b72&& Te6edf3contentsTb4b4b4.Te6edf3buffer Tff7b72=== Te6edf3bufferTb4b4b4) Tb4b4b4{
T8b949e// We can't emulate MAP_SHARED when the file is not backed by the buffer
T8b949e// we're mapping to (e.g. the HEAP buffer).
Te6edf3allocated Tff7b72= Tff7b72falseTb4b4b4;
Te6edf3ptr Tff7b72= Te6edf3contentsTb4b4b4.Te6edf3byteOffsetTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e// Try to avoid unnecessary slices.
Tff7b72if Tb4b4b4(Te6edf3position Tff7b72> T79c0ff0 Tff7b72|| Te6edf3position Tff7b72+ Te6edf3length Tff7b72< Te6edf3contentsTb4b4b4.Te6edf3lengthTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3contentsTb4b4b4.Te6edf3subarrayTb4b4b4) Tb4b4b4{
Te6edf3contents Tff7b72= Te6edf3contentsTb4b4b4.Te6edf3subarrayTb4b4b4(Te6edf3positionTb4b4b4, Te6edf3position Tff7b72+ Te6edf3lengthTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3contents Tff7b72= Tffa657ArrayTb4b4b4.Te6edf3prototypeTb4b4b4.Te6edf3sliceTb4b4b4.Te6edf3callTb4b4b4(Te6edf3contentsTb4b4b4, Te6edf3positionTb4b4b4, Te6edf3position Tff7b72+ Te6edf3lengthTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Te6edf3allocated Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3ptr Tff7b72= Te6edf3mmapAllocTb4b4b4(Te6edf3lengthTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3ptrTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff48Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3HEAP8Tb4b4b4.Te6edf3setTb4b4b4(Te6edf3contentsTb4b4b4, Te6edf3ptrTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tb4b4b4{ Te6edf3ptrTff7b72: Te6edf3ptrTb4b4b4, Te6edf3allocatedTff7b72: Te6edf3allocated Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3msyncTff7b72: Tff7b72function Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3mmapFlagsTb4b4b4) Tb4b4b4{
Te6edf3MEMFSTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, T79c0ff0Tb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3offsetTb4b4b4, Tff7b72falseTb4b4b4)Tb4b4b4;
T8b949e// should we check if bytesWritten and length are the same?
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
T8b949e/** @param {boolean=} noRunDep */
Tff7b72function Te6edf3asyncLoadTb4b4b4(Te6edf3urlTb4b4b4, Te6edf3onloadTb4b4b4, Te6edf3onerrorTb4b4b4, Te6edf3noRunDepTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3dep Tff7b72= Tff7b72!Te6edf3noRunDep Tff7b72? Te6edf3getUniqueRunDependencyTb4b4b4(Ta5d6ff"al " Tff7b72+ Te6edf3urlTb4b4b4) Tff7b72: Ta5d6ff""Tb4b4b4;
Te6edf3readAsyncTb4b4b4(
Te6edf3urlTb4b4b4,
Tb4b4b4(Te6edf3arrayBufferTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3assertTb4b4b4(Te6edf3arrayBufferTb4b4b4, Ta5d6ff'Loading data file "' Tff7b72+ Te6edf3url Tff7b72+ Ta5d6ff'" failed (no arrayBuffer).'Tb4b4b4)Tb4b4b4;
Te6edf3onloadTb4b4b4(Tff7b72new Tffa657Uint8ArrayTb4b4b4(Te6edf3arrayBufferTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3depTb4b4b4) Te6edf3removeRunDependencyTb4b4b4(Te6edf3depTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4(Te6edf3eventTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3onerrorTb4b4b4) Tb4b4b4{
Te6edf3onerrorTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72throw Ta5d6ff'Loading data file "' Tff7b72+ Te6edf3url Tff7b72+ Ta5d6ff'" failed.'Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3depTb4b4b4) Te6edf3addRunDependencyTb4b4b4(Te6edf3depTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3ERRNO_MESSAGES Tff7b72= Tb4b4b4{
T79c0ff0Tff7b72: Ta5d6ff"Success"Tb4b4b4,
T79c0ff1Tff7b72: Ta5d6ff"Arg list too long"Tb4b4b4,
T79c0ff2Tff7b72: Ta5d6ff"Permission denied"Tb4b4b4,
T79c0ff3Tff7b72: Ta5d6ff"Address already in use"Tb4b4b4,
T79c0ff4Tff7b72: Ta5d6ff"Address not available"Tb4b4b4,
T79c0ff5Tff7b72: Ta5d6ff"Address family not supported by protocol family"Tb4b4b4,
T79c0ff6Tff7b72: Ta5d6ff"No more processes"Tb4b4b4,
T79c0ff7Tff7b72: Ta5d6ff"Socket already connected"Tb4b4b4,
T79c0ff8Tff7b72: Ta5d6ff"Bad file number"Tb4b4b4,
T79c0ff9Tff7b72: Ta5d6ff"Trying to read unreadable message"Tb4b4b4,
T79c0ff10Tff7b72: Ta5d6ff"Mount device busy"Tb4b4b4,
T79c0ff11Tff7b72: Ta5d6ff"Operation canceled"Tb4b4b4,
T79c0ff12Tff7b72: Ta5d6ff"No children"Tb4b4b4,
T79c0ff13Tff7b72: Ta5d6ff"Connection aborted"Tb4b4b4,
T79c0ff14Tff7b72: Ta5d6ff"Connection refused"Tb4b4b4,
T79c0ff15Tff7b72: Ta5d6ff"Connection reset by peer"Tb4b4b4,
T79c0ff16Tff7b72: Ta5d6ff"File locking deadlock error"Tb4b4b4,
T79c0ff17Tff7b72: Ta5d6ff"Destination address required"Tb4b4b4,
T79c0ff18Tff7b72: Ta5d6ff"Math arg out of domain of func"Tb4b4b4,
T79c0ff19Tff7b72: Ta5d6ff"Quota exceeded"Tb4b4b4,
T79c0ff20Tff7b72: Ta5d6ff"File exists"Tb4b4b4,
T79c0ff21Tff7b72: Ta5d6ff"Bad address"Tb4b4b4,
T79c0ff22Tff7b72: Ta5d6ff"File too large"Tb4b4b4,
T79c0ff23Tff7b72: Ta5d6ff"Host is unreachable"Tb4b4b4,
T79c0ff24Tff7b72: Ta5d6ff"Identifier removed"Tb4b4b4,
T79c0ff25Tff7b72: Ta5d6ff"Illegal byte sequence"Tb4b4b4,
T79c0ff26Tff7b72: Ta5d6ff"Connection already in progress"Tb4b4b4,
T79c0ff27Tff7b72: Ta5d6ff"Interrupted system call"Tb4b4b4,
T79c0ff28Tff7b72: Ta5d6ff"Invalid argument"Tb4b4b4,
T79c0ff29Tff7b72: Ta5d6ff"I/O error"Tb4b4b4,
T79c0ff30Tff7b72: Ta5d6ff"Socket is already connected"Tb4b4b4,
T79c0ff31Tff7b72: Ta5d6ff"Is a directory"Tb4b4b4,
T79c0ff32Tff7b72: Ta5d6ff"Too many symbolic links"Tb4b4b4,
T79c0ff33Tff7b72: Ta5d6ff"Too many open files"Tb4b4b4,
T79c0ff34Tff7b72: Ta5d6ff"Too many links"Tb4b4b4,
T79c0ff35Tff7b72: Ta5d6ff"Message too long"Tb4b4b4,
T79c0ff36Tff7b72: Ta5d6ff"Multihop attempted"Tb4b4b4,
T79c0ff37Tff7b72: Ta5d6ff"File or path name too long"Tb4b4b4,
T79c0ff38Tff7b72: Ta5d6ff"Network interface is not configured"Tb4b4b4,
T79c0ff39Tff7b72: Ta5d6ff"Connection reset by network"Tb4b4b4,
T79c0ff40Tff7b72: Ta5d6ff"Network is unreachable"Tb4b4b4,
T79c0ff41Tff7b72: Ta5d6ff"Too many open files in system"Tb4b4b4,
T79c0ff42Tff7b72: Ta5d6ff"No buffer space available"Tb4b4b4,
T79c0ff43Tff7b72: Ta5d6ff"No such device"Tb4b4b4,
T79c0ff44Tff7b72: Ta5d6ff"No such file or directory"Tb4b4b4,
T79c0ff45Tff7b72: Ta5d6ff"Exec format error"Tb4b4b4,
T79c0ff46Tff7b72: Ta5d6ff"No record locks available"Tb4b4b4,
T79c0ff47Tff7b72: Ta5d6ff"The link has been severed"Tb4b4b4,
T79c0ff48Tff7b72: Ta5d6ff"Not enough core"Tb4b4b4,
T79c0ff49Tff7b72: Ta5d6ff"No message of desired type"Tb4b4b4,
T79c0ff50Tff7b72: Ta5d6ff"Protocol not available"Tb4b4b4,
T79c0ff51Tff7b72: Ta5d6ff"No space left on device"Tb4b4b4,
T79c0ff52Tff7b72: Ta5d6ff"Function not implemented"Tb4b4b4,
T79c0ff53Tff7b72: Ta5d6ff"Socket is not connected"Tb4b4b4,
T79c0ff54Tff7b72: Ta5d6ff"Not a directory"Tb4b4b4,
T79c0ff55Tff7b72: Ta5d6ff"Directory not empty"Tb4b4b4,
T79c0ff56Tff7b72: Ta5d6ff"State not recoverable"Tb4b4b4,
T79c0ff57Tff7b72: Ta5d6ff"Socket operation on non-socket"Tb4b4b4,
T79c0ff59Tff7b72: Ta5d6ff"Not a typewriter"Tb4b4b4,
T79c0ff60Tff7b72: Ta5d6ff"No such device or address"Tb4b4b4,
T79c0ff61Tff7b72: Ta5d6ff"Value too large for defined data type"Tb4b4b4,
T79c0ff62Tff7b72: Ta5d6ff"Previous owner died"Tb4b4b4,
T79c0ff63Tff7b72: Ta5d6ff"Not super-user"Tb4b4b4,
T79c0ff64Tff7b72: Ta5d6ff"Broken pipe"Tb4b4b4,
T79c0ff65Tff7b72: Ta5d6ff"Protocol error"Tb4b4b4,
T79c0ff66Tff7b72: Ta5d6ff"Unknown protocol"Tb4b4b4,
T79c0ff67Tff7b72: Ta5d6ff"Protocol wrong type for socket"Tb4b4b4,
T79c0ff68Tff7b72: Ta5d6ff"Math result not representable"Tb4b4b4,
T79c0ff69Tff7b72: Ta5d6ff"Read only file system"Tb4b4b4,
T79c0ff70Tff7b72: Ta5d6ff"Illegal seek"Tb4b4b4,
T79c0ff71Tff7b72: Ta5d6ff"No such process"Tb4b4b4,
T79c0ff72Tff7b72: Ta5d6ff"Stale file handle"Tb4b4b4,
T79c0ff73Tff7b72: Ta5d6ff"Connection timed out"Tb4b4b4,
T79c0ff74Tff7b72: Ta5d6ff"Text file busy"Tb4b4b4,
T79c0ff75Tff7b72: Ta5d6ff"Cross-device link"Tb4b4b4,
T79c0ff100Tff7b72: Ta5d6ff"Device not a stream"Tb4b4b4,
T79c0ff101Tff7b72: Ta5d6ff"Bad font file fmt"Tb4b4b4,
T79c0ff102Tff7b72: Ta5d6ff"Invalid slot"Tb4b4b4,
T79c0ff103Tff7b72: Ta5d6ff"Invalid request code"Tb4b4b4,
T79c0ff104Tff7b72: Ta5d6ff"No anode"Tb4b4b4,
T79c0ff105Tff7b72: Ta5d6ff"Block device required"Tb4b4b4,
T79c0ff106Tff7b72: Ta5d6ff"Channel number out of range"Tb4b4b4,
T79c0ff107Tff7b72: Ta5d6ff"Level 3 halted"Tb4b4b4,
T79c0ff108Tff7b72: Ta5d6ff"Level 3 reset"Tb4b4b4,
T79c0ff109Tff7b72: Ta5d6ff"Link number out of range"Tb4b4b4,
T79c0ff110Tff7b72: Ta5d6ff"Protocol driver not attached"Tb4b4b4,
T79c0ff111Tff7b72: Ta5d6ff"No CSI structure available"Tb4b4b4,
T79c0ff112Tff7b72: Ta5d6ff"Level 2 halted"Tb4b4b4,
T79c0ff113Tff7b72: Ta5d6ff"Invalid exchange"Tb4b4b4,
T79c0ff114Tff7b72: Ta5d6ff"Invalid request descriptor"Tb4b4b4,
T79c0ff115Tff7b72: Ta5d6ff"Exchange full"Tb4b4b4,
T79c0ff116Tff7b72: Ta5d6ff"No data (for no delay io)"Tb4b4b4,
T79c0ff117Tff7b72: Ta5d6ff"Timer expired"Tb4b4b4,
T79c0ff118Tff7b72: Ta5d6ff"Out of streams resources"Tb4b4b4,
T79c0ff119Tff7b72: Ta5d6ff"Machine is not on the network"Tb4b4b4,
T79c0ff120Tff7b72: Ta5d6ff"Package not installed"Tb4b4b4,
T79c0ff121Tff7b72: Ta5d6ff"The object is remote"Tb4b4b4,
T79c0ff122Tff7b72: Ta5d6ff"Advertise error"Tb4b4b4,
T79c0ff123Tff7b72: Ta5d6ff"Srmount error"Tb4b4b4,
T79c0ff124Tff7b72: Ta5d6ff"Communication error on send"Tb4b4b4,
T79c0ff125Tff7b72: Ta5d6ff"Cross mount point (not really error)"Tb4b4b4,
T79c0ff126Tff7b72: Ta5d6ff"Given log. name not unique"Tb4b4b4,
T79c0ff127Tff7b72: Ta5d6ff"f.d. invalid for this operation"Tb4b4b4,
T79c0ff128Tff7b72: Ta5d6ff"Remote address changed"Tb4b4b4,
T79c0ff129Tff7b72: Ta5d6ff"Can access a needed shared lib"Tb4b4b4,
T79c0ff130Tff7b72: Ta5d6ff"Accessing a corrupted shared lib"Tb4b4b4,
T79c0ff131Tff7b72: Ta5d6ff".lib section in a.out corrupted"Tb4b4b4,
T79c0ff132Tff7b72: Ta5d6ff"Attempting to link in too many libs"Tb4b4b4,
T79c0ff133Tff7b72: Ta5d6ff"Attempting to exec a shared library"Tb4b4b4,
T79c0ff135Tff7b72: Ta5d6ff"Streams pipe error"Tb4b4b4,
T79c0ff136Tff7b72: Ta5d6ff"Too many users"Tb4b4b4,
T79c0ff137Tff7b72: Ta5d6ff"Socket type not supported"Tb4b4b4,
T79c0ff138Tff7b72: Ta5d6ff"Not supported"Tb4b4b4,
T79c0ff139Tff7b72: Ta5d6ff"Protocol family not supported"Tb4b4b4,
T79c0ff140Tff7b72: Ta5d6ff"Can't send after socket shutdown"Tb4b4b4,
T79c0ff141Tff7b72: Ta5d6ff"Too many references"Tb4b4b4,
T79c0ff142Tff7b72: Ta5d6ff"Host is down"Tb4b4b4,
T79c0ff148Tff7b72: Ta5d6ff"No medium (in tape drive)"Tb4b4b4,
T79c0ff156Tff7b72: Ta5d6ff"Level 2 not synchronized"Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72var Te6edf3ERRNO_CODES Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72function Te6edf3withStackSaveTb4b4b4(Te6edf3fTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3stack Tff7b72= Te6edf3stackSaveTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3ret Tff7b72= Te6edf3fTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3stackRestoreTb4b4b4(Te6edf3stackTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3retTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3demangleTb4b4b4(Te6edf3funcTb4b4b4) Tb4b4b4{
Te6edf3warnOnceTb4b4b4(Ta5d6ff"warning: build with -sDEMANGLE_SUPPORT to link in libcxxabi demangling"Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3funcTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3demangleAllTb4b4b4(Te6edf3textTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3regex Tff7b72= Ta5d6ff/\b_Z[\w\d_]+/gTb4b4b4;
Tff7b72return Te6edf3textTb4b4b4.Te6edf3replaceTb4b4b4(Te6edf3regexTb4b4b4, Tff7b72function Tb4b4b4(Te6edf3xTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3y Tff7b72= Te6edf3demangleTb4b4b4(Te6edf3xTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3x Tff7b72=== Te6edf3y Tff7b72? Te6edf3x Tff7b72: Te6edf3y Tff7b72+ Ta5d6ff" [" Tff7b72+ Te6edf3x Tff7b72+ Ta5d6ff"]"Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3FS Tff7b72= Tb4b4b4{
Te6edf3rootTff7b72: Tff7b72nullTb4b4b4,
Te6edf3mountsTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3devicesTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3streamsTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3nextInodeTff7b72: T79c0ff1Tb4b4b4,
Te6edf3nameTableTff7b72: Tff7b72nullTb4b4b4,
Te6edf3currentPathTff7b72: Ta5d6ff"/"Tb4b4b4,
Te6edf3initializedTff7b72: Tff7b72falseTb4b4b4,
Te6edf3ignorePermissionsTff7b72: Tff7b72trueTb4b4b4,
Te6edf3ErrnoErrorTff7b72: Tff7b72nullTb4b4b4,
Te6edf3genericErrorsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3filesystemsTff7b72: Tff7b72nullTb4b4b4,
Te6edf3syncFSRequestsTff7b72: T79c0ff0Tb4b4b4,
Te6edf3lookupPathTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3opts Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3path Tff7b72= Te6edf3PATH_FSTb4b4b4.Te6edf3resolveTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3pathTb4b4b4) Tff7b72return Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3nodeTff7b72: Tff7b72null Tb4b4b4}Tb4b4b4;
Tff7b72var Te6edf3defaults Tff7b72= Tb4b4b4{
Te6edf3follow_mountTff7b72: Tff7b72trueTb4b4b4,
Te6edf3recurse_countTff7b72: T79c0ff0Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3opts Tff7b72= Tffa657ObjectTb4b4b4.Te6edf3assignTb4b4b4(Te6edf3defaultsTb4b4b4, Te6edf3optsTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3optsTb4b4b4.Te6edf3recurse_count Tff7b72> T79c0ff8Tb4b4b4) Tb4b4b4{
T8b949e// max recursive lookup of 8
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// split the absolute path
Tff7b72var Te6edf3parts Tff7b72= Te6edf3pathTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3pTb4b4b4) Tb4b4b4=> Tff7b72!Tff7b72!Te6edf3pTb4b4b4)Tb4b4b4;
T8b949e// start at the root
Tff7b72var Te6edf3current Tff7b72= Te6edf3FSTb4b4b4.Te6edf3rootTb4b4b4;
Tff7b72var Te6edf3current_path Tff7b72= Ta5d6ff"/"Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3partsTb4b4b4.Te6edf3lengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3islast Tff7b72= Te6edf3i Tff7b72=== Te6edf3partsTb4b4b4.Te6edf3length Tff7b72- T79c0ff1Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3islast Tff7b72&& Te6edf3optsTb4b4b4.Te6edf3parentTb4b4b4) Tb4b4b4{
T8b949e// stop resolving
Tff7b72breakTb4b4b4;
Tb4b4b4}
Te6edf3current Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupNodeTb4b4b4(Te6edf3currentTb4b4b4, Te6edf3partsTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4)Tb4b4b4;
Te6edf3current_path Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3join2Tb4b4b4(Te6edf3current_pathTb4b4b4, Te6edf3partsTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4)Tb4b4b4;
T8b949e// jump to the mount's root node if this is a mountpoint
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isMountpointTb4b4b4(Te6edf3currentTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3islast Tff7b72|| Tb4b4b4(Te6edf3islast Tff7b72&& Te6edf3optsTb4b4b4.Te6edf3follow_mountTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3current Tff7b72= Te6edf3currentTb4b4b4.Te6edf3mountedTb4b4b4.Te6edf3rootTb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// by default, lookupPath will not follow a symlink if it is the final path component.
T8b949e// setting opts.follow = true will override this behavior.
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3islast Tff7b72|| Te6edf3optsTb4b4b4.Te6edf3followTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3count Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72while Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isLinkTb4b4b4(Te6edf3currentTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3link Tff7b72= Te6edf3FSTb4b4b4.Te6edf3readlinkTb4b4b4(Te6edf3current_pathTb4b4b4)Tb4b4b4;
Te6edf3current_path Tff7b72= Te6edf3PATH_FSTb4b4b4.Te6edf3resolveTb4b4b4(Te6edf3PATHTb4b4b4.Te6edf3dirnameTb4b4b4(Te6edf3current_pathTb4b4b4)Tb4b4b4, Te6edf3linkTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3current_pathTb4b4b4, Tb4b4b4{ Te6edf3recurse_countTff7b72: Te6edf3optsTb4b4b4.Te6edf3recurse_count Tff7b72+ T79c0ff1 Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3current Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3countTff7b72++ Tff7b72> T79c0ff40Tb4b4b4) Tb4b4b4{
T8b949e// limit max consecutive symlinks to 40 (SYMLOOP_MAX).
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tff7b72return Tb4b4b4{ Te6edf3pathTff7b72: Te6edf3current_pathTb4b4b4, Te6edf3nodeTff7b72: Te6edf3current Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3getPathTff7b72: Tb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3pathTb4b4b4;
Tff7b72while Tb4b4b4(Tff7b72trueTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isRootTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3mount Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3mountTb4b4b4.Te6edf3mountpointTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3pathTb4b4b4) Tff7b72return Te6edf3mountTb4b4b4;
Tff7b72return Te6edf3mountTb4b4b4[Te6edf3mountTb4b4b4.Te6edf3length Tff7b72- T79c0ff1Tb4b4b4] Tff7b72!== Ta5d6ff"/" Tff7b72? Te6edf3mount Tff7b72+ Ta5d6ff"/" Tff7b72+ Te6edf3path Tff7b72: Te6edf3mount Tff7b72+ Te6edf3pathTb4b4b4;
Tb4b4b4}
Te6edf3path Tff7b72= Te6edf3path Tff7b72? Te6edf3nodeTb4b4b4.Te6edf3name Tff7b72+ Ta5d6ff"/" Tff7b72+ Te6edf3path Tff7b72: Te6edf3nodeTb4b4b4.Te6edf3nameTb4b4b4;
Te6edf3node Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3parentTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3hashNameTff7b72: Tb4b4b4(Te6edf3parentidTb4b4b4, Te6edf3nameTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3hash Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3nameTb4b4b4.Te6edf3lengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Te6edf3hash Tff7b72= Tb4b4b4(Tb4b4b4(Te6edf3hash Tff7b72<< T79c0ff5Tb4b4b4) Tff7b72- Te6edf3hash Tff7b72+ Te6edf3nameTb4b4b4.Te6edf3charCodeAtTb4b4b4(Te6edf3iTb4b4b4)Tb4b4b4) Tff7b72| T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72return Tb4b4b4(Tb4b4b4(Te6edf3parentid Tff7b72+ Te6edf3hashTb4b4b4) Tff7b72>>> T79c0ff0Tb4b4b4) Tff7b72% Te6edf3FSTb4b4b4.Te6edf3nameTableTb4b4b4.Te6edf3lengthTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3hashAddNodeTff7b72: Tb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3hash Tff7b72= Te6edf3FSTb4b4b4.Te6edf3hashNameTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3parentTb4b4b4.Te6edf3idTb4b4b4, Te6edf3nodeTb4b4b4.Te6edf3nameTb4b4b4)Tb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3name_next Tff7b72= Te6edf3FSTb4b4b4.Te6edf3nameTableTb4b4b4[Te6edf3hashTb4b4b4]Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3nameTableTb4b4b4[Te6edf3hashTb4b4b4] Tff7b72= Te6edf3nodeTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3hashRemoveNodeTff7b72: Tb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3hash Tff7b72= Te6edf3FSTb4b4b4.Te6edf3hashNameTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3parentTb4b4b4.Te6edf3idTb4b4b4, Te6edf3nodeTb4b4b4.Te6edf3nameTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3nameTableTb4b4b4[Te6edf3hashTb4b4b4] Tff7b72=== Te6edf3nodeTb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3nameTableTb4b4b4[Te6edf3hashTb4b4b4] Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3name_nextTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72var Te6edf3current Tff7b72= Te6edf3FSTb4b4b4.Te6edf3nameTableTb4b4b4[Te6edf3hashTb4b4b4]Tb4b4b4;
Tff7b72while Tb4b4b4(Te6edf3currentTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3currentTb4b4b4.Te6edf3name_next Tff7b72=== Te6edf3nodeTb4b4b4) Tb4b4b4{
Te6edf3currentTb4b4b4.Te6edf3name_next Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3name_nextTb4b4b4;
Tff7b72breakTb4b4b4;
Tb4b4b4}
Te6edf3current Tff7b72= Te6edf3currentTb4b4b4.Te6edf3name_nextTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3lookupNodeTff7b72: Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3errCode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3mayLookupTb4b4b4(Te6edf3parentTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(Te6edf3errCodeTb4b4b4, Te6edf3parentTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3hash Tff7b72= Te6edf3FSTb4b4b4.Te6edf3hashNameTb4b4b4(Te6edf3parentTb4b4b4.Te6edf3idTb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3node Tff7b72= Te6edf3FSTb4b4b4.Te6edf3nameTableTb4b4b4[Te6edf3hashTb4b4b4]Tb4b4b4; Te6edf3nodeTb4b4b4; Te6edf3node Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3name_nextTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3nodeName Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3nameTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3parentTb4b4b4.Te6edf3id Tff7b72=== Te6edf3parentTb4b4b4.Te6edf3id Tff7b72&& Te6edf3nodeName Tff7b72=== Te6edf3nameTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3nodeTb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// if we failed to find it in the cache, call into the VFS
Tff7b72return Te6edf3FSTb4b4b4.Te6edf3lookupTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createNodeTff7b72: Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3modeTb4b4b4, Te6edf3rdevTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3assertTb4b4b4(Tff7b72typeof Te6edf3parent Tff7b72== Ta5d6ff"object"Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3node Tff7b72= Tff7b72new Te6edf3FSTb4b4b4.Te6edf3FSNodeTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3modeTb4b4b4, Te6edf3rdevTb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3hashAddNodeTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3nodeTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3destroyNodeTff7b72: Tb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3hashRemoveNodeTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isRootTff7b72: Tb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Te6edf3node Tff7b72=== Te6edf3nodeTb4b4b4.Te6edf3parentTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isMountpointTff7b72: Tb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Tff7b72!Tff7b72!Te6edf3nodeTb4b4b4.Te6edf3mountedTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isFileTff7b72: Tb4b4b4(Te6edf3modeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3mode Tff7b72& T79c0ff61440Tb4b4b4) Tff7b72=== T79c0ff32768Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isDirTff7b72: Tb4b4b4(Te6edf3modeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3mode Tff7b72& T79c0ff61440Tb4b4b4) Tff7b72=== T79c0ff16384Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isLinkTff7b72: Tb4b4b4(Te6edf3modeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3mode Tff7b72& T79c0ff61440Tb4b4b4) Tff7b72=== T79c0ff40960Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isChrdevTff7b72: Tb4b4b4(Te6edf3modeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3mode Tff7b72& T79c0ff61440Tb4b4b4) Tff7b72=== T79c0ff8192Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isBlkdevTff7b72: Tb4b4b4(Te6edf3modeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3mode Tff7b72& T79c0ff61440Tb4b4b4) Tff7b72=== T79c0ff24576Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isFIFOTff7b72: Tb4b4b4(Te6edf3modeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3mode Tff7b72& T79c0ff61440Tb4b4b4) Tff7b72=== T79c0ff4096Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isSocketTff7b72: Tb4b4b4(Te6edf3modeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3mode Tff7b72& T79c0ff49152Tb4b4b4) Tff7b72=== T79c0ff49152Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3flagModesTff7b72: Tb4b4b4{ Te6edf3rTff7b72: T79c0ff0Tb4b4b4, Ta5d6ff"r+"Tff7b72: T79c0ff2Tb4b4b4, Te6edf3wTff7b72: T79c0ff577Tb4b4b4, Ta5d6ff"w+"Tff7b72: T79c0ff578Tb4b4b4, Te6edf3aTff7b72: T79c0ff1089Tb4b4b4, Ta5d6ff"a+"Tff7b72: T79c0ff1090 Tb4b4b4}Tb4b4b4,
Te6edf3modeStringToFlagsTff7b72: Tb4b4b4(Te6edf3strTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3flags Tff7b72= Te6edf3FSTb4b4b4.Te6edf3flagModesTb4b4b4[Te6edf3strTb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3flags Tff7b72== Ta5d6ff"undefined"Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(Ta5d6ff"Unknown file open mode: " Tff7b72+ Te6edf3strTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3flagsTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3flagsToPermissionStringTff7b72: Tb4b4b4(Te6edf3flagTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3perms Tff7b72= Tb4b4b4[Ta5d6ff"r"Tb4b4b4, Ta5d6ff"w"Tb4b4b4, Ta5d6ff"rw"Tb4b4b4]Tb4b4b4[Te6edf3flag Tff7b72& T79c0ff3Tb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3flag Tff7b72& T79c0ff512Tb4b4b4) Tb4b4b4{
Te6edf3perms Tff7b72+= Ta5d6ff"w"Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3permsTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3nodePermissionsTff7b72: Tb4b4b4(Te6edf3nodeTb4b4b4, Te6edf3permsTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3ignorePermissionsTb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
T8b949e// return 0 if any user, group or owner bits are set.
Tff7b72if Tb4b4b4(Te6edf3permsTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"r"Tb4b4b4) Tff7b72&& Tff7b72!Tb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3mode Tff7b72& T79c0ff292Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff2Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3permsTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"w"Tb4b4b4) Tff7b72&& Tff7b72!Tb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3mode Tff7b72& T79c0ff146Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff2Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3permsTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"x"Tb4b4b4) Tff7b72&& Tff7b72!Tb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3mode Tff7b72& T79c0ff73Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff2Tb4b4b4;
Tb4b4b4}
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mayLookupTff7b72: Tb4b4b4(Te6edf3dirTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3errCode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3nodePermissionsTb4b4b4(Te6edf3dirTb4b4b4, Ta5d6ff"x"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3errCodeTb4b4b4) Tff7b72return Te6edf3errCodeTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3dirTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3lookupTb4b4b4) Tff7b72return T79c0ff2Tb4b4b4;
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mayCreateTff7b72: Tb4b4b4(Te6edf3dirTb4b4b4, Te6edf3nameTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3node Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupNodeTb4b4b4(Te6edf3dirTb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4;
Tff7b72return T79c0ff20Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{Tb4b4b4}
Tff7b72return Te6edf3FSTb4b4b4.Te6edf3nodePermissionsTb4b4b4(Te6edf3dirTb4b4b4, Ta5d6ff"wx"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mayDeleteTff7b72: Tb4b4b4(Te6edf3dirTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3isdirTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3nodeTb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3node Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupNodeTb4b4b4(Te6edf3dirTb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3errCode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3nodePermissionsTb4b4b4(Te6edf3dirTb4b4b4, Ta5d6ff"wx"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3errCodeTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3isdirTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff54Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isRootTb4b4b4(Te6edf3nodeTb4b4b4) Tff7b72|| Te6edf3FSTb4b4b4.Te6edf3getPathTb4b4b4(Te6edf3nodeTb4b4b4) Tff7b72=== Te6edf3FSTb4b4b4.Te6edf3cwdTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff10Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff31Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mayOpenTff7b72: Tb4b4b4(Te6edf3nodeTb4b4b4, Te6edf3flagsTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3nodeTb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff44Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isLinkTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff32Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(
Te6edf3FSTb4b4b4.Te6edf3flagsToPermissionStringTb4b4b4(Te6edf3flagsTb4b4b4) Tff7b72!== Ta5d6ff"r" Tff7b72|| T8b949e// opening for write
Te6edf3flags Tff7b72& T79c0ff512
Tb4b4b4) Tb4b4b4{
T8b949e// TODO: check for O_SEARCH? (== search for dir only)
Tff7b72return T79c0ff31Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3FSTb4b4b4.Te6edf3nodePermissionsTb4b4b4(Te6edf3nodeTb4b4b4, Te6edf3FSTb4b4b4.Te6edf3flagsToPermissionStringTb4b4b4(Te6edf3flagsTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3MAX_OPEN_FDSTff7b72: T79c0ff4096Tb4b4b4,
Te6edf3nextfdTff7b72: Tb4b4b4(Te6edf3fd_start Tff7b72= T79c0ff0Tb4b4b4, Te6edf3fd_end Tff7b72= Te6edf3FSTb4b4b4.Te6edf3MAX_OPEN_FDSTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3fd Tff7b72= Te6edf3fd_startTb4b4b4; Te6edf3fd Tff7b72<= Te6edf3fd_endTb4b4b4; Te6edf3fdTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3FSTb4b4b4.Te6edf3streamsTb4b4b4[Te6edf3fdTb4b4b4]Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3fdTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff33Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3getStreamTff7b72: Tb4b4b4(Te6edf3fdTb4b4b4) Tb4b4b4=> Te6edf3FSTb4b4b4.Te6edf3streamsTb4b4b4[Te6edf3fdTb4b4b4]Tb4b4b4,
Te6edf3createStreamTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3fd_startTb4b4b4, Te6edf3fd_endTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3FSTb4b4b4.Te6edf3FSStreamTb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3FSStream Tff7b72= T8b949e/** @constructor */ Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3shared Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3FSStreamTb4b4b4.Te6edf3prototype Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tffa657ObjectTb4b4b4.Te6edf3definePropertiesTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3FSStreamTb4b4b4.Te6edf3prototypeTb4b4b4, Tb4b4b4{
Te6edf3objectTff7b72: Tb4b4b4{
T8b949e/** @this {FS.FSStream} */
Te6edf3getTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3nodeTb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/** @this {FS.FSStream} */
Te6edf3setTff7b72: Tff7b72function Tb4b4b4(Te6edf3valTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3node Tff7b72= Te6edf3valTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3isReadTff7b72: Tb4b4b4{
T8b949e/** @this {FS.FSStream} */
Te6edf3getTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3flags Tff7b72& T79c0ff2097155Tb4b4b4) Tff7b72!== T79c0ff1Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3isWriteTff7b72: Tb4b4b4{
T8b949e/** @this {FS.FSStream} */
Te6edf3getTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3flags Tff7b72& T79c0ff2097155Tb4b4b4) Tff7b72!== T79c0ff0Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3isAppendTff7b72: Tb4b4b4{
T8b949e/** @this {FS.FSStream} */
Te6edf3getTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3flags Tff7b72& T79c0ff1024Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3flagsTff7b72: Tb4b4b4{
T8b949e/** @this {FS.FSStream} */
Te6edf3getTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3sharedTb4b4b4.Te6edf3flagsTb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/** @this {FS.FSStream} */
Te6edf3setTff7b72: Tff7b72function Tb4b4b4(Te6edf3valTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3sharedTb4b4b4.Te6edf3flags Tff7b72= Te6edf3valTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3positionTff7b72: Tb4b4b4{
T8b949e/** @this {FS.FSStream} */
Te6edf3getTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3sharedTb4b4b4.Te6edf3positionTb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/** @this {FS.FSStream} */
Te6edf3setTff7b72: Tff7b72function Tb4b4b4(Te6edf3valTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3sharedTb4b4b4.Te6edf3position Tff7b72= Te6edf3valTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// clone it, so we can return an instance of FSStream
Te6edf3stream Tff7b72= Tffa657ObjectTb4b4b4.Te6edf3assignTb4b4b4(Tff7b72new Te6edf3FSTb4b4b4.Te6edf3FSStreamTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3streamTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3fd Tff7b72= Te6edf3FSTb4b4b4.Te6edf3nextfdTb4b4b4(Te6edf3fd_startTb4b4b4, Te6edf3fd_endTb4b4b4)Tb4b4b4;
Te6edf3streamTb4b4b4.Te6edf3fd Tff7b72= Te6edf3fdTb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3streamsTb4b4b4[Te6edf3fdTb4b4b4] Tff7b72= Te6edf3streamTb4b4b4;
Tff7b72return Te6edf3streamTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3closeStreamTff7b72: Tb4b4b4(Te6edf3fdTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3streamsTb4b4b4[Te6edf3fdTb4b4b4] Tff7b72= Tff7b72nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3chrdev_stream_opsTff7b72: Tb4b4b4{
Te6edf3openTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3device Tff7b72= Te6edf3FSTb4b4b4.Te6edf3getDeviceTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3rdevTb4b4b4)Tb4b4b4;
T8b949e// override node's stream ops with the device's
Te6edf3streamTb4b4b4.Te6edf3stream_ops Tff7b72= Te6edf3deviceTb4b4b4.Te6edf3stream_opsTb4b4b4;
T8b949e// forward the open call
Tff7b72if Tb4b4b4(Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3openTb4b4b4) Tb4b4b4{
Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3openTb4b4b4(Te6edf3streamTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3llseekTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff70Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3majorTff7b72: Tb4b4b4(Te6edf3devTb4b4b4) Tb4b4b4=> Te6edf3dev Tff7b72>> T79c0ff8Tb4b4b4,
Te6edf3minorTff7b72: Tb4b4b4(Te6edf3devTb4b4b4) Tb4b4b4=> Te6edf3dev Tff7b72& T79c0ff0xffTb4b4b4,
Te6edf3makedevTff7b72: Tb4b4b4(Te6edf3maTb4b4b4, Te6edf3miTb4b4b4) Tb4b4b4=> Tb4b4b4(Te6edf3ma Tff7b72<< T79c0ff8Tb4b4b4) Tff7b72| Te6edf3miTb4b4b4,
Te6edf3registerDeviceTff7b72: Tb4b4b4(Te6edf3devTb4b4b4, Te6edf3opsTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3devicesTb4b4b4[Te6edf3devTb4b4b4] Tff7b72= Tb4b4b4{ Te6edf3stream_opsTff7b72: Te6edf3ops Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3getDeviceTff7b72: Tb4b4b4(Te6edf3devTb4b4b4) Tb4b4b4=> Te6edf3FSTb4b4b4.Te6edf3devicesTb4b4b4[Te6edf3devTb4b4b4]Tb4b4b4,
Te6edf3getMountsTff7b72: Tb4b4b4(Te6edf3mountTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3mounts Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72var Te6edf3check Tff7b72= Tb4b4b4[Te6edf3mountTb4b4b4]Tb4b4b4;
Tff7b72while Tb4b4b4(Te6edf3checkTb4b4b4.Te6edf3lengthTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3m Tff7b72= Te6edf3checkTb4b4b4.Te6edf3popTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3mountsTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3mTb4b4b4)Tb4b4b4;
Te6edf3checkTb4b4b4.Te6edf3pushTb4b4b4.Te6edf3applyTb4b4b4(Te6edf3checkTb4b4b4, Te6edf3mTb4b4b4.Te6edf3mountsTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3mountsTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3syncfsTff7b72: Tb4b4b4(Te6edf3populateTb4b4b4, Te6edf3callbackTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3populate Tff7b72== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
Te6edf3callback Tff7b72= Te6edf3populateTb4b4b4;
Te6edf3populate Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Te6edf3FSTb4b4b4.Te6edf3syncFSRequestsTff7b72++Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3syncFSRequests Tff7b72> T79c0ff1Tb4b4b4) Tb4b4b4{
Te6edf3errTb4b4b4(
Ta5d6ff"warning: " Tff7b72+
Te6edf3FSTb4b4b4.Te6edf3syncFSRequests Tff7b72+
Ta5d6ff" FS.syncfs operations in flight at once, probably just doing extra work"
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3mounts Tff7b72= Te6edf3FSTb4b4b4.Te6edf3getMountsTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3rootTb4b4b4.Te6edf3mountTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3completed Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72function Te6edf3doCallbackTb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
Te6edf3assertTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3syncFSRequests Tff7b72> T79c0ff0Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3syncFSRequestsTff7b72--Tb4b4b4;
Tff7b72return Te6edf3callbackTb4b4b4(Te6edf3errCodeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3doneTb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3doneTb4b4b4.Te6edf3erroredTb4b4b4) Tb4b4b4{
Te6edf3doneTb4b4b4.Te6edf3errored Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72return Te6edf3doCallbackTb4b4b4(Te6edf3errCodeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72++Te6edf3completed Tff7b72>= Te6edf3mountsTb4b4b4.Te6edf3lengthTb4b4b4) Tb4b4b4{
Te6edf3doCallbackTb4b4b4(Tff7b72nullTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// sync all mounts
Te6edf3mountsTb4b4b4.Te6edf3forEachTb4b4b4(Tb4b4b4(Te6edf3mountTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3mountTb4b4b4.Te6edf3typeTb4b4b4.Te6edf3syncfsTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3doneTb4b4b4(Tff7b72nullTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3mountTb4b4b4.Te6edf3typeTb4b4b4.Te6edf3syncfsTb4b4b4(Te6edf3mountTb4b4b4, Te6edf3populateTb4b4b4, Te6edf3doneTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mountTff7b72: Tb4b4b4(Te6edf3typeTb4b4b4, Te6edf3optsTb4b4b4, Te6edf3mountpointTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3type Tff7b72== Ta5d6ff"string"Tb4b4b4) Tb4b4b4{
T8b949e// The filesystem was not included, and instead we have an error
T8b949e// message stored in the variable.
Tff7b72throw Te6edf3typeTb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3root Tff7b72= Te6edf3mountpoint Tff7b72=== Ta5d6ff"/"Tb4b4b4;
Tff7b72var Te6edf3pseudo Tff7b72= Tff7b72!Te6edf3mountpointTb4b4b4;
Tff7b72var Te6edf3nodeTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3root Tff7b72&& Te6edf3FSTb4b4b4.Te6edf3rootTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff10Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Tff7b72!Te6edf3root Tff7b72&& Tff7b72!Te6edf3pseudoTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3mountpointTb4b4b4, Tb4b4b4{ Te6edf3follow_mountTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3mountpoint Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3pathTb4b4b4; T8b949e// use the absolute path
Te6edf3node Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isMountpointTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff10Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff54Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72var Te6edf3mount Tff7b72= Tb4b4b4{
Te6edf3typeTff7b72: Te6edf3typeTb4b4b4,
Te6edf3optsTff7b72: Te6edf3optsTb4b4b4,
Te6edf3mountpointTff7b72: Te6edf3mountpointTb4b4b4,
Te6edf3mountsTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4;
T8b949e// create a root node for the fs
Tff7b72var Te6edf3mountRoot Tff7b72= Te6edf3typeTb4b4b4.Te6edf3mountTb4b4b4(Te6edf3mountTb4b4b4)Tb4b4b4;
Te6edf3mountRootTb4b4b4.Te6edf3mount Tff7b72= Te6edf3mountTb4b4b4;
Te6edf3mountTb4b4b4.Te6edf3root Tff7b72= Te6edf3mountRootTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3rootTb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3root Tff7b72= Te6edf3mountRootTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4{
T8b949e// set as a mountpoint
Te6edf3nodeTb4b4b4.Te6edf3mounted Tff7b72= Te6edf3mountTb4b4b4;
T8b949e// add the new mount to the current mount's children
Tff7b72if Tb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3mountTb4b4b4) Tb4b4b4{
Te6edf3nodeTb4b4b4.Te6edf3mountTb4b4b4.Te6edf3mountsTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3mountTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3mountRootTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3unmountTff7b72: Tb4b4b4(Te6edf3mountpointTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3mountpointTb4b4b4, Tb4b4b4{ Te6edf3follow_mountTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3FSTb4b4b4.Te6edf3isMountpointTb4b4b4(Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// destroy the nodes for this mount, and all its child mounts
Tff7b72var Te6edf3node Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tff7b72var Te6edf3mount Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3mountedTb4b4b4;
Tff7b72var Te6edf3mounts Tff7b72= Te6edf3FSTb4b4b4.Te6edf3getMountsTb4b4b4(Te6edf3mountTb4b4b4)Tb4b4b4;
Tffa657ObjectTb4b4b4.Te6edf3keysTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3nameTableTb4b4b4)Tb4b4b4.Te6edf3forEachTb4b4b4(Tb4b4b4(Te6edf3hashTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3current Tff7b72= Te6edf3FSTb4b4b4.Te6edf3nameTableTb4b4b4[Te6edf3hashTb4b4b4]Tb4b4b4;
Tff7b72while Tb4b4b4(Te6edf3currentTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3next Tff7b72= Te6edf3currentTb4b4b4.Te6edf3name_nextTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3mountsTb4b4b4.Te6edf3includesTb4b4b4(Te6edf3currentTb4b4b4.Te6edf3mountTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3destroyNodeTb4b4b4(Te6edf3currentTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3current Tff7b72= Te6edf3nextTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e// no longer a mountpoint
Te6edf3nodeTb4b4b4.Te6edf3mounted Tff7b72= Tff7b72nullTb4b4b4;
T8b949e// remove this mount from the child mounts
Tff7b72var Te6edf3idx Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3mountTb4b4b4.Te6edf3mountsTb4b4b4.Te6edf3indexOfTb4b4b4(Te6edf3mountTb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(Te6edf3idx Tff7b72!== Tff7b72-T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3mountTb4b4b4.Te6edf3mountsTb4b4b4.Te6edf3spliceTb4b4b4(Te6edf3idxTb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3lookupTff7b72: Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Te6edf3parentTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3lookupTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mknodTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4, Te6edf3devTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4{ Te6edf3parentTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3parent Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tff7b72var Te6edf3name Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3basenameTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3name Tff7b72|| Te6edf3name Tff7b72=== Ta5d6ff"." Tff7b72|| Te6edf3name Tff7b72=== Ta5d6ff".."Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3errCode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3mayCreateTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(Te6edf3errCodeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3parentTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3mknodTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff63Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3parentTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3mknodTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3modeTb4b4b4, Te6edf3devTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3mode Tff7b72= Te6edf3mode Tff7b72!== Tff7b72undefined Tff7b72? Te6edf3mode Tff7b72: T79c0ff438 T8b949e/* 0666 */Tb4b4b4;
Te6edf3mode Tff7b72&= T79c0ff4095Tb4b4b4;
Te6edf3mode Tff7b72|= T79c0ff32768Tb4b4b4;
Tff7b72return Te6edf3FSTb4b4b4.Te6edf3mknodTb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mkdirTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3mode Tff7b72= Te6edf3mode Tff7b72!== Tff7b72undefined Tff7b72? Te6edf3mode Tff7b72: T79c0ff511 T8b949e/* 0777 */Tb4b4b4;
Te6edf3mode Tff7b72&= T79c0ff511 Tff7b72| T79c0ff512Tb4b4b4;
Te6edf3mode Tff7b72|= T79c0ff16384Tb4b4b4;
Tff7b72return Te6edf3FSTb4b4b4.Te6edf3mknodTb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mkdirTreeTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3dirs Tff7b72= Te6edf3pathTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3d Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3dirsTb4b4b4.Te6edf3lengthTb4b4b4; Tff7b72++Te6edf3iTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3dirsTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4) Tff7b72continueTb4b4b4;
Te6edf3d Tff7b72+= Ta5d6ff"/" Tff7b72+ Te6edf3dirsTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3mkdirTb4b4b4(Te6edf3dTb4b4b4, Te6edf3modeTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3eTb4b4b4.Te6edf3errno Tff7b72!= T79c0ff20Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3mkdevTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4, Te6edf3devTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3dev Tff7b72== Ta5d6ff"undefined"Tb4b4b4) Tb4b4b4{
Te6edf3dev Tff7b72= Te6edf3modeTb4b4b4;
Te6edf3mode Tff7b72= T79c0ff438 T8b949e/* 0666 */Tb4b4b4;
Tb4b4b4}
Te6edf3mode Tff7b72|= T79c0ff8192Tb4b4b4;
Tff7b72return Te6edf3FSTb4b4b4.Te6edf3mknodTb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4, Te6edf3devTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3symlinkTff7b72: Tb4b4b4(Te6edf3oldpathTb4b4b4, Te6edf3newpathTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3PATH_FSTb4b4b4.Te6edf3resolveTb4b4b4(Te6edf3oldpathTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff44Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3newpathTb4b4b4, Tb4b4b4{ Te6edf3parentTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3parent Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3parentTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff44Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3newname Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3basenameTb4b4b4(Te6edf3newpathTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3errCode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3mayCreateTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3newnameTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(Te6edf3errCodeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3parentTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3symlinkTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff63Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3parentTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3symlinkTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3newnameTb4b4b4, Te6edf3oldpathTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3renameTff7b72: Tb4b4b4(Te6edf3old_pathTb4b4b4, Te6edf3new_pathTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3old_dirname Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3dirnameTb4b4b4(Te6edf3old_pathTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3new_dirname Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3dirnameTb4b4b4(Te6edf3new_pathTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3old_name Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3basenameTb4b4b4(Te6edf3old_pathTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3new_name Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3basenameTb4b4b4(Te6edf3new_pathTb4b4b4)Tb4b4b4;
T8b949e// parents must exist
Tff7b72var Te6edf3lookupTb4b4b4, Te6edf3old_dirTb4b4b4, Te6edf3new_dirTb4b4b4;
T8b949e// let the errors from non existant directories percolate up
Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3old_pathTb4b4b4, Tb4b4b4{ Te6edf3parentTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3old_dir Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3new_pathTb4b4b4, Tb4b4b4{ Te6edf3parentTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3new_dir Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3old_dir Tff7b72|| Tff7b72!Te6edf3new_dirTb4b4b4) Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff44Tb4b4b4)Tb4b4b4;
T8b949e// need to be part of the same mount
Tff7b72if Tb4b4b4(Te6edf3old_dirTb4b4b4.Te6edf3mount Tff7b72!== Te6edf3new_dirTb4b4b4.Te6edf3mountTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff75Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// source must exist
Tff7b72var Te6edf3old_node Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupNodeTb4b4b4(Te6edf3old_dirTb4b4b4, Te6edf3old_nameTb4b4b4)Tb4b4b4;
T8b949e// old path should not be an ancestor of the new path
Tff7b72var Te6edf3relative Tff7b72= Te6edf3PATH_FSTb4b4b4.Te6edf3relativeTb4b4b4(Te6edf3old_pathTb4b4b4, Te6edf3new_dirnameTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3relativeTb4b4b4.Te6edf3charAtTb4b4b4(T79c0ff0Tb4b4b4) Tff7b72!== Ta5d6ff"."Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// new path should not be an ancestor of the old path
Te6edf3relative Tff7b72= Te6edf3PATH_FSTb4b4b4.Te6edf3relativeTb4b4b4(Te6edf3new_pathTb4b4b4, Te6edf3old_dirnameTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3relativeTb4b4b4.Te6edf3charAtTb4b4b4(T79c0ff0Tb4b4b4) Tff7b72!== Ta5d6ff"."Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff55Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// see if the new path already exists
Tff7b72var Te6edf3new_nodeTb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3new_node Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupNodeTb4b4b4(Te6edf3new_dirTb4b4b4, Te6edf3new_nameTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
T8b949e// not fatal
Tb4b4b4}
T8b949e// early out if nothing needs to change
Tff7b72if Tb4b4b4(Te6edf3old_node Tff7b72=== Te6edf3new_nodeTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
T8b949e// we'll need to delete the old entry
Tff7b72var Te6edf3isdir Tff7b72= Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3old_nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3errCode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3mayDeleteTb4b4b4(Te6edf3old_dirTb4b4b4, Te6edf3old_nameTb4b4b4, Te6edf3isdirTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(Te6edf3errCodeTb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// need delete permissions if we'll be overwriting.
T8b949e// need create permissions if new doesn't already exist.
Te6edf3errCode Tff7b72= Te6edf3new_node Tff7b72? Te6edf3FSTb4b4b4.Te6edf3mayDeleteTb4b4b4(Te6edf3new_dirTb4b4b4, Te6edf3new_nameTb4b4b4, Te6edf3isdirTb4b4b4) Tff7b72: Te6edf3FSTb4b4b4.Te6edf3mayCreateTb4b4b4(Te6edf3new_dirTb4b4b4, Te6edf3new_nameTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(Te6edf3errCodeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3old_dirTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3renameTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff63Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isMountpointTb4b4b4(Te6edf3old_nodeTb4b4b4) Tff7b72|| Tb4b4b4(Te6edf3new_node Tff7b72&& Te6edf3FSTb4b4b4.Te6edf3isMountpointTb4b4b4(Te6edf3new_nodeTb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff10Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// if we are going to change the parent, check write permissions
Tff7b72if Tb4b4b4(Te6edf3new_dir Tff7b72!== Te6edf3old_dirTb4b4b4) Tb4b4b4{
Te6edf3errCode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3nodePermissionsTb4b4b4(Te6edf3old_dirTb4b4b4, Ta5d6ff"w"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(Te6edf3errCodeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// remove the node from the lookup hash
Te6edf3FSTb4b4b4.Te6edf3hashRemoveNodeTb4b4b4(Te6edf3old_nodeTb4b4b4)Tb4b4b4;
T8b949e// do the underlying fs rename
Tff7b72try Tb4b4b4{
Te6edf3old_dirTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3renameTb4b4b4(Te6edf3old_nodeTb4b4b4, Te6edf3new_dirTb4b4b4, Te6edf3new_nameTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72throw Te6edf3eTb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
T8b949e// add the node back to the hash (in case node_ops.rename
T8b949e// changed its name)
Te6edf3FSTb4b4b4.Te6edf3hashAddNodeTb4b4b4(Te6edf3old_nodeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3rmdirTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4{ Te6edf3parentTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3parent Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tff7b72var Te6edf3name Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3basenameTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3node Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupNodeTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3errCode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3mayDeleteTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Tff7b72trueTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(Te6edf3errCodeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3parentTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3rmdirTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff63Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isMountpointTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff10Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3parentTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3rmdirTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3destroyNodeTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3readdirTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4{ Te6edf3followTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3node Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3nodeTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3readdirTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff54Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3nodeTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3readdirTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3unlinkTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4{ Te6edf3parentTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3parent Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3parentTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff44Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3name Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3basenameTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3node Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupNodeTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3errCode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3mayDeleteTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Tff7b72falseTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
T8b949e// According to POSIX, we should map EISDIR to EPERM, but
T8b949e// we instead do what Linux does (and we must, as we use
T8b949e// the musl linux libc).
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(Te6edf3errCodeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3parentTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3unlinkTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff63Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isMountpointTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff10Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3parentTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3unlinkTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3destroyNodeTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3readlinkTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3link Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3linkTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff44Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3linkTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3readlinkTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3PATH_FSTb4b4b4.Te6edf3resolveTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3getPathTb4b4b4(Te6edf3linkTb4b4b4.Te6edf3parentTb4b4b4)Tb4b4b4, Te6edf3linkTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3readlinkTb4b4b4(Te6edf3linkTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3statTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3dontFollowTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4{ Te6edf3followTff7b72: Tff7b72!Te6edf3dontFollow Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3node Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3nodeTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff44Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3nodeTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3getattrTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff63Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3nodeTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3getattrTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3lstatTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Te6edf3FSTb4b4b4.Te6edf3statTb4b4b4(Te6edf3pathTb4b4b4, Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3chmodTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4, Te6edf3dontFollowTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3nodeTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3path Tff7b72== Ta5d6ff"string"Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4{ Te6edf3followTff7b72: Tff7b72!Te6edf3dontFollow Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3node Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3node Tff7b72= Te6edf3pathTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3nodeTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3setattrTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff63Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3nodeTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3setattrTb4b4b4(Te6edf3nodeTb4b4b4, Tb4b4b4{
Te6edf3modeTff7b72: Tb4b4b4(Te6edf3mode Tff7b72& T79c0ff4095Tb4b4b4) Tff7b72| Tb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3mode Tff7b72& Tff7b72~T79c0ff4095Tb4b4b4)Tb4b4b4,
Te6edf3timestampTff7b72: Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3lchmodTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3chmodTb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4, Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3fchmodTff7b72: Tb4b4b4(Te6edf3fdTb4b4b4, Te6edf3modeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3stream Tff7b72= Te6edf3FSTb4b4b4.Te6edf3getStreamTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3FSTb4b4b4.Te6edf3chmodTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4, Te6edf3modeTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3chownTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3uidTb4b4b4, Te6edf3gidTb4b4b4, Te6edf3dontFollowTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3nodeTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3path Tff7b72== Ta5d6ff"string"Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4{ Te6edf3followTff7b72: Tff7b72!Te6edf3dontFollow Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3node Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3node Tff7b72= Te6edf3pathTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3nodeTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3setattrTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff63Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3nodeTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3setattrTb4b4b4(Te6edf3nodeTb4b4b4, Tb4b4b4{
Te6edf3timestampTff7b72: Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4,
T8b949e// we ignore the uid / gid for now
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3lchownTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3uidTb4b4b4, Te6edf3gidTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3chownTb4b4b4(Te6edf3pathTb4b4b4, Te6edf3uidTb4b4b4, Te6edf3gidTb4b4b4, Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3fchownTff7b72: Tb4b4b4(Te6edf3fdTb4b4b4, Te6edf3uidTb4b4b4, Te6edf3gidTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3stream Tff7b72= Te6edf3FSTb4b4b4.Te6edf3getStreamTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3FSTb4b4b4.Te6edf3chownTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4, Te6edf3uidTb4b4b4, Te6edf3gidTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3truncateTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3lenTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3len Tff7b72< T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3nodeTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3path Tff7b72== Ta5d6ff"string"Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4{ Te6edf3followTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3node Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3node Tff7b72= Te6edf3pathTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3nodeTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3setattrTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff63Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff31Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3FSTb4b4b4.Te6edf3isFileTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3errCode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3nodePermissionsTb4b4b4(Te6edf3nodeTb4b4b4, Ta5d6ff"w"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(Te6edf3errCodeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3nodeTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3setattrTb4b4b4(Te6edf3nodeTb4b4b4, Tb4b4b4{
Te6edf3sizeTff7b72: Te6edf3lenTb4b4b4,
Te6edf3timestampTff7b72: Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3ftruncateTff7b72: Tb4b4b4(Te6edf3fdTb4b4b4, Te6edf3lenTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3stream Tff7b72= Te6edf3FSTb4b4b4.Te6edf3getStreamTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3streamTb4b4b4.Te6edf3flags Tff7b72& T79c0ff2097155Tb4b4b4) Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3FSTb4b4b4.Te6edf3truncateTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4, Te6edf3lenTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3utimeTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3atimeTb4b4b4, Te6edf3mtimeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4{ Te6edf3followTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3node Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3node_opsTb4b4b4.Te6edf3setattrTb4b4b4(Te6edf3nodeTb4b4b4, Tb4b4b4{
Te6edf3timestampTff7b72: Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(Te6edf3atimeTb4b4b4, Te6edf3mtimeTb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3openTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3flagsTb4b4b4, Te6edf3modeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3path Tff7b72=== Ta5d6ff""Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff44Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3flags Tff7b72= Tff7b72typeof Te6edf3flags Tff7b72== Ta5d6ff"string" Tff7b72? Te6edf3FSTb4b4b4.Te6edf3modeStringToFlagsTb4b4b4(Te6edf3flagsTb4b4b4) Tff7b72: Te6edf3flagsTb4b4b4;
Te6edf3mode Tff7b72= Tff7b72typeof Te6edf3mode Tff7b72== Ta5d6ff"undefined" Tff7b72? T79c0ff438 T8b949e/* 0666 */ Tff7b72: Te6edf3modeTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3flags Tff7b72& T79c0ff64Tb4b4b4) Tb4b4b4{
Te6edf3mode Tff7b72= Tb4b4b4(Te6edf3mode Tff7b72& T79c0ff4095Tb4b4b4) Tff7b72| T79c0ff32768Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3mode Tff7b72= T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3nodeTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3path Tff7b72== Ta5d6ff"object"Tb4b4b4) Tb4b4b4{
Te6edf3node Tff7b72= Te6edf3pathTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3path Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3normalizeTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4{
Te6edf3followTff7b72: Tff7b72!Tb4b4b4(Te6edf3flags Tff7b72& T79c0ff131072Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3node Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
T8b949e// ignore
Tb4b4b4}
Tb4b4b4}
T8b949e// perhaps we need to create the node
Tff7b72var Te6edf3created Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3flags Tff7b72& T79c0ff64Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4{
T8b949e// if O_CREAT and O_EXCL are set, error out if the node already exists
Tff7b72if Tb4b4b4(Te6edf3flags Tff7b72& T79c0ff128Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff20Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e// node doesn't exist, try to create it
Te6edf3node Tff7b72= Te6edf3FSTb4b4b4.Te6edf3mknodTb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Te6edf3created Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3nodeTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff44Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// can't truncate a device
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isChrdevTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3flags Tff7b72&= Tff7b72~T79c0ff512Tb4b4b4;
Tb4b4b4}
T8b949e// if asked only for a directory, then this must be one
Tff7b72if Tb4b4b4(Te6edf3flags Tff7b72& T79c0ff65536 Tff7b72&& Tff7b72!Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff54Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// check permissions, if this is not a file we just created now (it is ok to
T8b949e// create and write to a file with read-only permissions; it is read-only
T8b949e// for later use)
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3createdTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3errCode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3mayOpenTb4b4b4(Te6edf3nodeTb4b4b4, Te6edf3flagsTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(Te6edf3errCodeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// do truncation if necessary
Tff7b72if Tb4b4b4(Te6edf3flags Tff7b72& T79c0ff512 Tff7b72&& Tff7b72!Te6edf3createdTb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3truncateTb4b4b4(Te6edf3nodeTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// we've already handled these, don't pass down to the underlying vfs
Te6edf3flags Tff7b72&= Tff7b72~Tb4b4b4(T79c0ff128 Tff7b72| T79c0ff512 Tff7b72| T79c0ff131072Tb4b4b4)Tb4b4b4;
T8b949e// register the stream with the filesystem
Tff7b72var Te6edf3stream Tff7b72= Te6edf3FSTb4b4b4.Te6edf3createStreamTb4b4b4(Tb4b4b4{
Te6edf3nodeTff7b72: Te6edf3nodeTb4b4b4,
Te6edf3pathTff7b72: Te6edf3FSTb4b4b4.Te6edf3getPathTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4, T8b949e// we want the absolute path to the node
Te6edf3flagsTff7b72: Te6edf3flagsTb4b4b4,
Te6edf3seekableTff7b72: Tff7b72trueTb4b4b4,
Te6edf3positionTff7b72: T79c0ff0Tb4b4b4,
Te6edf3stream_opsTff7b72: Te6edf3nodeTb4b4b4.Te6edf3stream_opsTb4b4b4,
T8b949e// used by the file family libc calls (fopen, fwrite, ferror, etc.)
Te6edf3ungottenTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3errorTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e// call the new stream's open function
Tff7b72if Tb4b4b4(Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3openTb4b4b4) Tb4b4b4{
Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3openTb4b4b4(Te6edf3streamTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"logReadFiles"Tb4b4b4] Tff7b72&& Tff7b72!Tb4b4b4(Te6edf3flags Tff7b72& T79c0ff1Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3FSTb4b4b4.Te6edf3readFilesTb4b4b4) Te6edf3FSTb4b4b4.Te6edf3readFiles Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Tb4b4b4(Te6edf3path Tff7b72in Te6edf3FSTb4b4b4.Te6edf3readFilesTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3readFilesTb4b4b4[Te6edf3pathTb4b4b4] Tff7b72= T79c0ff1Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3streamTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3closeTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isClosedTb4b4b4(Te6edf3streamTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3streamTb4b4b4.Te6edf3getdentsTb4b4b4) Te6edf3streamTb4b4b4.Te6edf3getdents Tff7b72= Tff7b72nullTb4b4b4; T8b949e// free readdir state
Tff7b72try Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3closeTb4b4b4) Tb4b4b4{
Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3closeTb4b4b4(Te6edf3streamTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72throw Te6edf3eTb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3closeStreamTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3fdTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3streamTb4b4b4.Te6edf3fd Tff7b72= Tff7b72nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isClosedTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Te6edf3streamTb4b4b4.Te6edf3fd Tff7b72=== Tff7b72nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3llseekTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3whenceTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isClosedTb4b4b4(Te6edf3streamTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3seekable Tff7b72|| Tff7b72!Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3llseekTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff70Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3whence Tff7b72!= T79c0ff0 Tff7b72&& Te6edf3whence Tff7b72!= T79c0ff1 Tff7b72&& Te6edf3whence Tff7b72!= T79c0ff2Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3streamTb4b4b4.Te6edf3position Tff7b72= Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3llseekTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3whenceTb4b4b4)Tb4b4b4;
Te6edf3streamTb4b4b4.Te6edf3ungotten Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72return Te6edf3streamTb4b4b4.Te6edf3positionTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3readTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3positionTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3length Tff7b72< T79c0ff0 Tff7b72|| Te6edf3position Tff7b72< T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isClosedTb4b4b4(Te6edf3streamTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3streamTb4b4b4.Te6edf3flags Tff7b72& T79c0ff2097155Tb4b4b4) Tff7b72=== T79c0ff1Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff31Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3readTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3seeking Tff7b72= Tff7b72typeof Te6edf3position Tff7b72!= Ta5d6ff"undefined"Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3seekingTb4b4b4) Tb4b4b4{
Te6edf3position Tff7b72= Te6edf3streamTb4b4b4.Te6edf3positionTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3seekableTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff70Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3bytesRead Tff7b72= Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3readTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3positionTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3seekingTb4b4b4) Te6edf3streamTb4b4b4.Te6edf3position Tff7b72+= Te6edf3bytesReadTb4b4b4;
Tff7b72return Te6edf3bytesReadTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3writeTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3positionTb4b4b4, Te6edf3canOwnTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3length Tff7b72< T79c0ff0 Tff7b72|| Te6edf3position Tff7b72< T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isClosedTb4b4b4(Te6edf3streamTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3streamTb4b4b4.Te6edf3flags Tff7b72& T79c0ff2097155Tb4b4b4) Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff31Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3writeTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3streamTb4b4b4.Te6edf3seekable Tff7b72&& Te6edf3streamTb4b4b4.Te6edf3flags Tff7b72& T79c0ff1024Tb4b4b4) Tb4b4b4{
T8b949e// seek to the end before writing in append mode
Te6edf3FSTb4b4b4.Te6edf3llseekTb4b4b4(Te6edf3streamTb4b4b4, T79c0ff0Tb4b4b4, T79c0ff2Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3seeking Tff7b72= Tff7b72typeof Te6edf3position Tff7b72!= Ta5d6ff"undefined"Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3seekingTb4b4b4) Tb4b4b4{
Te6edf3position Tff7b72= Te6edf3streamTb4b4b4.Te6edf3positionTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3seekableTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff70Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3bytesWritten Tff7b72= Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3positionTb4b4b4, Te6edf3canOwnTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3seekingTb4b4b4) Te6edf3streamTb4b4b4.Te6edf3position Tff7b72+= Te6edf3bytesWrittenTb4b4b4;
Tff7b72return Te6edf3bytesWrittenTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3allocateTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3isClosedTb4b4b4(Te6edf3streamTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3offset Tff7b72< T79c0ff0 Tff7b72|| Te6edf3length Tff7b72<= T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3streamTb4b4b4.Te6edf3flags Tff7b72& T79c0ff2097155Tb4b4b4) Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3FSTb4b4b4.Te6edf3isFileTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4) Tff7b72&& Tff7b72!Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff43Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3allocateTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff138Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3allocateTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mmapTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3positionTb4b4b4, Te6edf3protTb4b4b4, Te6edf3flagsTb4b4b4) Tb4b4b4=> Tb4b4b4{
T8b949e// User requests writing to file (prot & PROT_WRITE != 0).
T8b949e// Checking if we have permissions to write to the file unless
T8b949e// MAP_PRIVATE flag is set. According to POSIX spec it is possible
T8b949e// to write to file opened in read-only mode with MAP_PRIVATE flag,
T8b949e// as all modifications will be visible only in the memory of
T8b949e// the current process.
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3prot Tff7b72& T79c0ff2Tb4b4b4) Tff7b72!== T79c0ff0 Tff7b72&& Tb4b4b4(Te6edf3flags Tff7b72& T79c0ff2Tb4b4b4) Tff7b72=== T79c0ff0 Tff7b72&& Tb4b4b4(Te6edf3streamTb4b4b4.Te6edf3flags Tff7b72& T79c0ff2097155Tb4b4b4) Tff7b72!== T79c0ff2Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3streamTb4b4b4.Te6edf3flags Tff7b72& T79c0ff2097155Tb4b4b4) Tff7b72=== T79c0ff1Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3mmapTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff43Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3mmapTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3positionTb4b4b4, Te6edf3protTb4b4b4, Te6edf3flagsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3msyncTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3mmapFlagsTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3msyncTb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3msyncTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3mmapFlagsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3munmapTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4) Tb4b4b4=> T79c0ff0Tb4b4b4,
Te6edf3ioctlTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3cmdTb4b4b4, Te6edf3argTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3ioctlTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff59Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3ioctlTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3cmdTb4b4b4, Te6edf3argTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3readFileTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3opts Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3optsTb4b4b4.Te6edf3flags Tff7b72= Te6edf3optsTb4b4b4.Te6edf3flags Tff7b72|| T79c0ff0Tb4b4b4;
Te6edf3optsTb4b4b4.Te6edf3encoding Tff7b72= Te6edf3optsTb4b4b4.Te6edf3encoding Tff7b72|| Ta5d6ff"binary"Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3optsTb4b4b4.Te6edf3encoding Tff7b72!== Ta5d6ff"utf8" Tff7b72&& Te6edf3optsTb4b4b4.Te6edf3encoding Tff7b72!== Ta5d6ff"binary"Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(Ta5d6ff'Invalid encoding type "' Tff7b72+ Te6edf3optsTb4b4b4.Te6edf3encoding Tff7b72+ Ta5d6ff'"'Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3retTb4b4b4;
Tff7b72var Te6edf3stream Tff7b72= Te6edf3FSTb4b4b4.Te6edf3openTb4b4b4(Te6edf3pathTb4b4b4, Te6edf3optsTb4b4b4.Te6edf3flagsTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3stat Tff7b72= Te6edf3FSTb4b4b4.Te6edf3statTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3length Tff7b72= Te6edf3statTb4b4b4.Te6edf3sizeTb4b4b4;
Tff7b72var Te6edf3buf Tff7b72= Tff7b72new Tffa657Uint8ArrayTb4b4b4(Te6edf3lengthTb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3readTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufTb4b4b4, T79c0ff0Tb4b4b4, Te6edf3lengthTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3optsTb4b4b4.Te6edf3encoding Tff7b72=== Ta5d6ff"utf8"Tb4b4b4) Tb4b4b4{
Te6edf3ret Tff7b72= Te6edf3UTF8ArrayToStringTb4b4b4(Te6edf3bufTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3optsTb4b4b4.Te6edf3encoding Tff7b72=== Ta5d6ff"binary"Tb4b4b4) Tb4b4b4{
Te6edf3ret Tff7b72= Te6edf3bufTb4b4b4;
Tb4b4b4}
Te6edf3FSTb4b4b4.Te6edf3closeTb4b4b4(Te6edf3streamTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3retTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3writeFileTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3dataTb4b4b4, Te6edf3opts Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3optsTb4b4b4.Te6edf3flags Tff7b72= Te6edf3optsTb4b4b4.Te6edf3flags Tff7b72|| T79c0ff577Tb4b4b4;
Tff7b72var Te6edf3stream Tff7b72= Te6edf3FSTb4b4b4.Te6edf3openTb4b4b4(Te6edf3pathTb4b4b4, Te6edf3optsTb4b4b4.Te6edf3flagsTb4b4b4, Te6edf3optsTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3data Tff7b72== Ta5d6ff"string"Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3buf Tff7b72= Tff7b72new Tffa657Uint8ArrayTb4b4b4(Te6edf3lengthBytesUTF8Tb4b4b4(Te6edf3dataTb4b4b4) Tff7b72+ T79c0ff1Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3actualNumBytes Tff7b72= Te6edf3stringToUTF8ArrayTb4b4b4(Te6edf3dataTb4b4b4, Te6edf3bufTb4b4b4, T79c0ff0Tb4b4b4, Te6edf3bufTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufTb4b4b4, T79c0ff0Tb4b4b4, Te6edf3actualNumBytesTb4b4b4, Tff7b72undefinedTb4b4b4, Te6edf3optsTb4b4b4.Te6edf3canOwnTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Tffa657ArrayBufferTb4b4b4.Te6edf3isViewTb4b4b4(Te6edf3dataTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3dataTb4b4b4, T79c0ff0Tb4b4b4, Te6edf3dataTb4b4b4.Te6edf3byteLengthTb4b4b4, Tff7b72undefinedTb4b4b4, Te6edf3optsTb4b4b4.Te6edf3canOwnTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(Ta5d6ff"Unsupported data type"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3FSTb4b4b4.Te6edf3closeTb4b4b4(Te6edf3streamTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3cwdTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3FSTb4b4b4.Te6edf3currentPathTb4b4b4,
Te6edf3chdirTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4{ Te6edf3followTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3lookupTb4b4b4.Te6edf3node Tff7b72=== Tff7b72nullTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff44Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff54Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3errCode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3nodePermissionsTb4b4b4(Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4, Ta5d6ff"x"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3errCodeTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(Te6edf3errCodeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3FSTb4b4b4.Te6edf3currentPath Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3pathTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createDefaultDirectoriesTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3mkdirTb4b4b4(Ta5d6ff"/tmp"Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3mkdirTb4b4b4(Ta5d6ff"/home"Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3mkdirTb4b4b4(Ta5d6ff"/home/web_user"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createDefaultDevicesTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
T8b949e// create /dev
Te6edf3FSTb4b4b4.Te6edf3mkdirTb4b4b4(Ta5d6ff"/dev"Tb4b4b4)Tb4b4b4;
T8b949e// setup /dev/null
Te6edf3FSTb4b4b4.Te6edf3registerDeviceTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3makedevTb4b4b4(T79c0ff1Tb4b4b4, T79c0ff3Tb4b4b4)Tb4b4b4, Tb4b4b4{
Te6edf3readTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> T79c0ff0Tb4b4b4,
Te6edf3writeTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3posTb4b4b4) Tb4b4b4=> Te6edf3lengthTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3mkdevTb4b4b4(Ta5d6ff"/dev/null"Tb4b4b4, Te6edf3FSTb4b4b4.Te6edf3makedevTb4b4b4(T79c0ff1Tb4b4b4, T79c0ff3Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e// setup /dev/tty and /dev/tty1
T8b949e// stderr needs to print output using err() rather than out()
T8b949e// so we register a second tty just for it.
Te6edf3TTYTb4b4b4.Te6edf3registerTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3makedevTb4b4b4(T79c0ff5Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4, Te6edf3TTYTb4b4b4.Te6edf3default_tty_opsTb4b4b4)Tb4b4b4;
Te6edf3TTYTb4b4b4.Te6edf3registerTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3makedevTb4b4b4(T79c0ff6Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4, Te6edf3TTYTb4b4b4.Te6edf3default_tty1_opsTb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3mkdevTb4b4b4(Ta5d6ff"/dev/tty"Tb4b4b4, Te6edf3FSTb4b4b4.Te6edf3makedevTb4b4b4(T79c0ff5Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3mkdevTb4b4b4(Ta5d6ff"/dev/tty1"Tb4b4b4, Te6edf3FSTb4b4b4.Te6edf3makedevTb4b4b4(T79c0ff6Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e// setup /dev/[u]random
Tff7b72var Te6edf3random_device Tff7b72= Te6edf3getRandomDeviceTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3createDeviceTb4b4b4(Ta5d6ff"/dev"Tb4b4b4, Ta5d6ff"random"Tb4b4b4, Te6edf3random_deviceTb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3createDeviceTb4b4b4(Ta5d6ff"/dev"Tb4b4b4, Ta5d6ff"urandom"Tb4b4b4, Te6edf3random_deviceTb4b4b4)Tb4b4b4;
T8b949e// we're not going to emulate the actual shm device,
T8b949e// just create the tmp dirs that reside in it commonly
Te6edf3FSTb4b4b4.Te6edf3mkdirTb4b4b4(Ta5d6ff"/dev/shm"Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3mkdirTb4b4b4(Ta5d6ff"/dev/shm/tmp"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createSpecialDirectoriesTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
T8b949e// create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the
T8b949e// name of the stream for fd 6 (see test_unistd_ttyname)
Te6edf3FSTb4b4b4.Te6edf3mkdirTb4b4b4(Ta5d6ff"/proc"Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3proc_self Tff7b72= Te6edf3FSTb4b4b4.Te6edf3mkdirTb4b4b4(Ta5d6ff"/proc/self"Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3mkdirTb4b4b4(Ta5d6ff"/proc/self/fd"Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3mountTb4b4b4(
Tb4b4b4{
Te6edf3mountTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3node Tff7b72= Te6edf3FSTb4b4b4.Te6edf3createNodeTb4b4b4(Te6edf3proc_selfTb4b4b4, Ta5d6ff"fd"Tb4b4b4, T79c0ff16384 Tff7b72| T79c0ff511 T8b949e/* 0777 */Tb4b4b4, T79c0ff73Tb4b4b4)Tb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3node_ops Tff7b72= Tb4b4b4{
Te6edf3lookupTff7b72: Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3fd Tff7b72= Tff7b72+Te6edf3nameTb4b4b4;
Tff7b72var Te6edf3stream Tff7b72= Te6edf3FSTb4b4b4.Te6edf3getStreamTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4) Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3ret Tff7b72= Tb4b4b4{
Te6edf3parentTff7b72: Tff7b72nullTb4b4b4,
Te6edf3mountTff7b72: Tb4b4b4{ Te6edf3mountpointTff7b72: Ta5d6ff"fake" Tb4b4b4}Tb4b4b4,
Te6edf3node_opsTff7b72: Tb4b4b4{ Te6edf3readlinkTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3streamTb4b4b4.Te6edf3path Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3retTb4b4b4.Te6edf3parent Tff7b72= Te6edf3retTb4b4b4; T8b949e// make it look like a simple root node
Tff7b72return Te6edf3retTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72return Te6edf3nodeTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4{Tb4b4b4}Tb4b4b4,
Ta5d6ff"/proc/self/fd"
Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createStandardStreamsTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
T8b949e// TODO deprecate the old functionality of a single
T8b949e// input / output callback and that utilizes FS.createDevice
T8b949e// and instead require a unique set of stream ops
T8b949e// by default, we symlink the standard streams to the
T8b949e// default tty devices. however, if the standard streams
T8b949e// have been overwritten we create a unique device for
T8b949e// them instead.
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"stdin"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3createDeviceTb4b4b4(Ta5d6ff"/dev"Tb4b4b4, Ta5d6ff"stdin"Tb4b4b4, Te6edf3ModuleTb4b4b4[Ta5d6ff"stdin"Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3symlinkTb4b4b4(Ta5d6ff"/dev/tty"Tb4b4b4, Ta5d6ff"/dev/stdin"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"stdout"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3createDeviceTb4b4b4(Ta5d6ff"/dev"Tb4b4b4, Ta5d6ff"stdout"Tb4b4b4, Tff7b72nullTb4b4b4, Te6edf3ModuleTb4b4b4[Ta5d6ff"stdout"Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3symlinkTb4b4b4(Ta5d6ff"/dev/tty"Tb4b4b4, Ta5d6ff"/dev/stdout"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"stderr"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3createDeviceTb4b4b4(Ta5d6ff"/dev"Tb4b4b4, Ta5d6ff"stderr"Tb4b4b4, Tff7b72nullTb4b4b4, Te6edf3ModuleTb4b4b4[Ta5d6ff"stderr"Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3symlinkTb4b4b4(Ta5d6ff"/dev/tty1"Tb4b4b4, Ta5d6ff"/dev/stderr"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// open default streams for the stdin, stdout and stderr devices
Tff7b72var Te6edf3stdin Tff7b72= Te6edf3FSTb4b4b4.Te6edf3openTb4b4b4(Ta5d6ff"/dev/stdin"Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3stdout Tff7b72= Te6edf3FSTb4b4b4.Te6edf3openTb4b4b4(Ta5d6ff"/dev/stdout"Tb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3stderr Tff7b72= Te6edf3FSTb4b4b4.Te6edf3openTb4b4b4(Ta5d6ff"/dev/stderr"Tb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(Te6edf3stdinTb4b4b4.Te6edf3fd Tff7b72=== T79c0ff0Tb4b4b4, Ta5d6ff"invalid handle for stdin (" Tff7b72+ Te6edf3stdinTb4b4b4.Te6edf3fd Tff7b72+ Ta5d6ff")"Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(Te6edf3stdoutTb4b4b4.Te6edf3fd Tff7b72=== T79c0ff1Tb4b4b4, Ta5d6ff"invalid handle for stdout (" Tff7b72+ Te6edf3stdoutTb4b4b4.Te6edf3fd Tff7b72+ Ta5d6ff")"Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(Te6edf3stderrTb4b4b4.Te6edf3fd Tff7b72=== T79c0ff2Tb4b4b4, Ta5d6ff"invalid handle for stderr (" Tff7b72+ Te6edf3stderrTb4b4b4.Te6edf3fd Tff7b72+ Ta5d6ff")"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3ensureErrnoErrorTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4) Tff7b72returnTb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3ErrnoError Tff7b72= T8b949e/** @this{Object} */ Tff7b72function Te6edf3ErrnoErrorTb4b4b4(Te6edf3errnoTb4b4b4, Te6edf3nodeTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3node Tff7b72= Te6edf3nodeTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3setErrno Tff7b72= T8b949e/** @this{Object} */ Tff7b72function Tb4b4b4(Te6edf3errnoTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3errno Tff7b72= Te6edf3errnoTb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3key Tff7b72in Te6edf3ERRNO_CODESTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3ERRNO_CODESTb4b4b4[Te6edf3keyTb4b4b4] Tff7b72=== Te6edf3errnoTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3code Tff7b72= Te6edf3keyTb4b4b4;
Tff7b72breakTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3setErrnoTb4b4b4(Te6edf3errnoTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3message Tff7b72= Te6edf3ERRNO_MESSAGESTb4b4b4[Te6edf3errnoTb4b4b4]Tb4b4b4;
T8b949e// Try to get a maximally helpful stack trace. On Node.js, getting Error.stack
T8b949e// now ensures it shows what we want.
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3stackTb4b4b4) Tb4b4b4{
T8b949e// Define the stack property for Node.js 4, which otherwise errors on the next line.
Tffa657ObjectTb4b4b4.Te6edf3definePropertyTb4b4b4(Tff7b72thisTb4b4b4, Ta5d6ff"stack"Tb4b4b4, Tb4b4b4{ Te6edf3valueTff7b72: Tff7b72new Tf85149ErrorTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3stackTb4b4b4, Te6edf3writableTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3stack Tff7b72= Te6edf3demangleAllTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3stackTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4.Te6edf3prototype Tff7b72= Tff7b72new Tf85149ErrorTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4.Te6edf3prototypeTb4b4b4.Tff7b72constructor Tff7b72= Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4;
T8b949e// Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
Tb4b4b4[T79c0ff44Tb4b4b4]Tb4b4b4.Te6edf3forEachTb4b4b4(Tb4b4b4(Te6edf3codeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3genericErrorsTb4b4b4[Te6edf3codeTb4b4b4] Tff7b72= Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(Te6edf3codeTb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3genericErrorsTb4b4b4[Te6edf3codeTb4b4b4]Tb4b4b4.Te6edf3stack Tff7b72= Ta5d6ff"<generic error, no stack>"Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3staticInitTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3ensureErrnoErrorTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3nameTable Tff7b72= Tff7b72new Tffa657ArrayTb4b4b4(T79c0ff4096Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3mountTb4b4b4(Te6edf3MEMFSTb4b4b4, Tb4b4b4{Tb4b4b4}Tb4b4b4, Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3createDefaultDirectoriesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3createDefaultDevicesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3createSpecialDirectoriesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3filesystems Tff7b72= Tb4b4b4{
Te6edf3MEMFSTff7b72: Te6edf3MEMFSTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3initTff7b72: Tb4b4b4(Te6edf3inputTb4b4b4, Te6edf3outputTb4b4b4, Te6edf3errorTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3assertTb4b4b4(
Tff7b72!Te6edf3FSTb4b4b4.Te6edf3initTb4b4b4.Te6edf3initializedTb4b4b4,
Ta5d6ff"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"
Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3initTb4b4b4.Te6edf3initialized Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3ensureErrnoErrorTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
Te6edf3ModuleTb4b4b4[Ta5d6ff"stdin"Tb4b4b4] Tff7b72= Te6edf3input Tff7b72|| Te6edf3ModuleTb4b4b4[Ta5d6ff"stdin"Tb4b4b4]Tb4b4b4;
Te6edf3ModuleTb4b4b4[Ta5d6ff"stdout"Tb4b4b4] Tff7b72= Te6edf3output Tff7b72|| Te6edf3ModuleTb4b4b4[Ta5d6ff"stdout"Tb4b4b4]Tb4b4b4;
Te6edf3ModuleTb4b4b4[Ta5d6ff"stderr"Tb4b4b4] Tff7b72= Te6edf3error Tff7b72|| Te6edf3ModuleTb4b4b4[Ta5d6ff"stderr"Tb4b4b4]Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3createStandardStreamsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3quitTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3initTb4b4b4.Te6edf3initialized Tff7b72= Tff7b72falseTb4b4b4;
T8b949e// force-flush all streams, so we get musl std streams printed out
Te6edf3_fflushTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
T8b949e// close all of our streams
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3FSTb4b4b4.Te6edf3streamsTb4b4b4.Te6edf3lengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3stream Tff7b72= Te6edf3FSTb4b4b4.Te6edf3streamsTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}
Te6edf3FSTb4b4b4.Te6edf3closeTb4b4b4(Te6edf3streamTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3getModeTff7b72: Tb4b4b4(Te6edf3canReadTb4b4b4, Te6edf3canWriteTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3mode Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3canReadTb4b4b4) Te6edf3mode Tff7b72|= T79c0ff292 Tff7b72| T79c0ff73Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3canWriteTb4b4b4) Te6edf3mode Tff7b72|= T79c0ff146Tb4b4b4;
Tff7b72return Te6edf3modeTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3findObjectTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3dontResolveLastLinkTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3ret Tff7b72= Te6edf3FSTb4b4b4.Te6edf3analyzePathTb4b4b4(Te6edf3pathTb4b4b4, Te6edf3dontResolveLastLinkTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3retTb4b4b4.Te6edf3existsTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72nullTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3retTb4b4b4.Te6edf3objectTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3analyzePathTff7b72: Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3dontResolveLastLinkTb4b4b4) Tb4b4b4=> Tb4b4b4{
T8b949e// operate from within the context of the symlink's target
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4{ Te6edf3followTff7b72: Tff7b72!Te6edf3dontResolveLastLink Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3path Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3pathTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{Tb4b4b4}
Tff7b72var Te6edf3ret Tff7b72= Tb4b4b4{
Te6edf3isRootTff7b72: Tff7b72falseTb4b4b4,
Te6edf3existsTff7b72: Tff7b72falseTb4b4b4,
Te6edf3errorTff7b72: T79c0ff0Tb4b4b4,
Te6edf3nameTff7b72: Tff7b72nullTb4b4b4,
Te6edf3pathTff7b72: Tff7b72nullTb4b4b4,
Te6edf3objectTff7b72: Tff7b72nullTb4b4b4,
Te6edf3parentExistsTff7b72: Tff7b72falseTb4b4b4,
Te6edf3parentPathTff7b72: Tff7b72nullTb4b4b4,
Te6edf3parentObjectTff7b72: Tff7b72nullTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4{ Te6edf3parentTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3retTb4b4b4.Te6edf3parentExists Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3retTb4b4b4.Te6edf3parentPath Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3pathTb4b4b4;
Te6edf3retTb4b4b4.Te6edf3parentObject Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Te6edf3retTb4b4b4.Te6edf3name Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3basenameTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3pathTb4b4b4, Tb4b4b4{ Te6edf3followTff7b72: Tff7b72!Te6edf3dontResolveLastLink Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3retTb4b4b4.Te6edf3exists Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3retTb4b4b4.Te6edf3path Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3pathTb4b4b4;
Te6edf3retTb4b4b4.Te6edf3object Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4;
Te6edf3retTb4b4b4.Te6edf3name Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3nameTb4b4b4;
Te6edf3retTb4b4b4.Te6edf3isRoot Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3path Tff7b72=== Ta5d6ff"/"Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3retTb4b4b4.Te6edf3error Tff7b72= Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3retTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createPathTff7b72: Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3pathTb4b4b4, Te6edf3canReadTb4b4b4, Te6edf3canWriteTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3parent Tff7b72= Tff7b72typeof Te6edf3parent Tff7b72== Ta5d6ff"string" Tff7b72? Te6edf3parent Tff7b72: Te6edf3FSTb4b4b4.Te6edf3getPathTb4b4b4(Te6edf3parentTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3parts Tff7b72= Te6edf3pathTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4.Te6edf3reverseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72while Tb4b4b4(Te6edf3partsTb4b4b4.Te6edf3lengthTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3part Tff7b72= Te6edf3partsTb4b4b4.Te6edf3popTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3partTb4b4b4) Tff7b72continueTb4b4b4;
Tff7b72var Te6edf3current Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3join2Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3partTb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3mkdirTb4b4b4(Te6edf3currentTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
T8b949e// ignore EEXIST
Tb4b4b4}
Te6edf3parent Tff7b72= Te6edf3currentTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3currentTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createFileTff7b72: Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3propertiesTb4b4b4, Te6edf3canReadTb4b4b4, Te6edf3canWriteTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3path Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3join2Tb4b4b4(Tff7b72typeof Te6edf3parent Tff7b72== Ta5d6ff"string" Tff7b72? Te6edf3parent Tff7b72: Te6edf3FSTb4b4b4.Te6edf3getPathTb4b4b4(Te6edf3parentTb4b4b4)Tb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3mode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3getModeTb4b4b4(Te6edf3canReadTb4b4b4, Te6edf3canWriteTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3FSTb4b4b4.Te6edf3createTb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createDataFileTff7b72: Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3dataTb4b4b4, Te6edf3canReadTb4b4b4, Te6edf3canWriteTb4b4b4, Te6edf3canOwnTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3path Tff7b72= Te6edf3nameTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3parentTb4b4b4) Tb4b4b4{
Te6edf3parent Tff7b72= Tff7b72typeof Te6edf3parent Tff7b72== Ta5d6ff"string" Tff7b72? Te6edf3parent Tff7b72: Te6edf3FSTb4b4b4.Te6edf3getPathTb4b4b4(Te6edf3parentTb4b4b4)Tb4b4b4;
Te6edf3path Tff7b72= Te6edf3name Tff7b72? Te6edf3PATHTb4b4b4.Te6edf3join2Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4) Tff7b72: Te6edf3parentTb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3mode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3getModeTb4b4b4(Te6edf3canReadTb4b4b4, Te6edf3canWriteTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3node Tff7b72= Te6edf3FSTb4b4b4.Te6edf3createTb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3dataTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3data Tff7b72== Ta5d6ff"string"Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3arr Tff7b72= Tff7b72new Tffa657ArrayTb4b4b4(Te6edf3dataTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4, Te6edf3len Tff7b72= Te6edf3dataTb4b4b4.Te6edf3lengthTb4b4b4; Te6edf3i Tff7b72< Te6edf3lenTb4b4b4; Tff7b72++Te6edf3iTb4b4b4) Te6edf3arrTb4b4b4[Te6edf3iTb4b4b4] Tff7b72= Te6edf3dataTb4b4b4.Te6edf3charCodeAtTb4b4b4(Te6edf3iTb4b4b4)Tb4b4b4;
Te6edf3data Tff7b72= Te6edf3arrTb4b4b4;
Tb4b4b4}
T8b949e// make sure we can write to the file
Te6edf3FSTb4b4b4.Te6edf3chmodTb4b4b4(Te6edf3nodeTb4b4b4, Te6edf3mode Tff7b72| T79c0ff146Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3stream Tff7b72= Te6edf3FSTb4b4b4.Te6edf3openTb4b4b4(Te6edf3nodeTb4b4b4, T79c0ff577Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3dataTb4b4b4, T79c0ff0Tb4b4b4, Te6edf3dataTb4b4b4.Te6edf3lengthTb4b4b4, T79c0ff0Tb4b4b4, Te6edf3canOwnTb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3closeTb4b4b4(Te6edf3streamTb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3chmodTb4b4b4(Te6edf3nodeTb4b4b4, Te6edf3modeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3nodeTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createDeviceTff7b72: Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3inputTb4b4b4, Te6edf3outputTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3path Tff7b72= Te6edf3PATHTb4b4b4.Te6edf3join2Tb4b4b4(Tff7b72typeof Te6edf3parent Tff7b72== Ta5d6ff"string" Tff7b72? Te6edf3parent Tff7b72: Te6edf3FSTb4b4b4.Te6edf3getPathTb4b4b4(Te6edf3parentTb4b4b4)Tb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3mode Tff7b72= Te6edf3FSTb4b4b4.Te6edf3getModeTb4b4b4(Tff7b72!Tff7b72!Te6edf3inputTb4b4b4, Tff7b72!Tff7b72!Te6edf3outputTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3FSTb4b4b4.Te6edf3createDeviceTb4b4b4.Te6edf3majorTb4b4b4) Te6edf3FSTb4b4b4.Te6edf3createDeviceTb4b4b4.Te6edf3major Tff7b72= T79c0ff64Tb4b4b4;
Tff7b72var Te6edf3dev Tff7b72= Te6edf3FSTb4b4b4.Te6edf3makedevTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3createDeviceTb4b4b4.Te6edf3majorTff7b72++Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
T8b949e// Create a fake device that a set of stream ops to emulate
T8b949e// the old behavior.
Te6edf3FSTb4b4b4.Te6edf3registerDeviceTb4b4b4(Te6edf3devTb4b4b4, Tb4b4b4{
Te6edf3openTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3streamTb4b4b4.Te6edf3seekable Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3closeTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4) Tb4b4b4=> Tb4b4b4{
T8b949e// flush any pending line data
Tff7b72if Tb4b4b4(Te6edf3output Tff7b72&& Te6edf3outputTb4b4b4.Te6edf3buffer Tff7b72&& Te6edf3outputTb4b4b4.Te6edf3bufferTb4b4b4.Te6edf3lengthTb4b4b4) Tb4b4b4{
Te6edf3outputTb4b4b4(T79c0ff10Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3readTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3pos T8b949e/* ignored */Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3bytesRead Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3lengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3resultTb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3result Tff7b72= Te6edf3inputTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff29Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3result Tff7b72=== Tff7b72undefined Tff7b72&& Te6edf3bytesRead Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff6Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3result Tff7b72=== Tff7b72null Tff7b72|| Te6edf3result Tff7b72=== Tff7b72undefinedTb4b4b4) Tff7b72breakTb4b4b4;
Te6edf3bytesReadTff7b72++Tb4b4b4;
Te6edf3bufferTb4b4b4[Te6edf3offset Tff7b72+ Te6edf3iTb4b4b4] Tff7b72= Te6edf3resultTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3bytesReadTb4b4b4) Tb4b4b4{
Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3timestamp Tff7b72= Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3bytesReadTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3writeTff7b72: Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3posTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3lengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Te6edf3outputTb4b4b4(Te6edf3bufferTb4b4b4[Te6edf3offset Tff7b72+ Te6edf3iTb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff29Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3lengthTb4b4b4) Tb4b4b4{
Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3timestamp Tff7b72= Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3iTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3FSTb4b4b4.Te6edf3mkdevTb4b4b4(Te6edf3pathTb4b4b4, Te6edf3modeTb4b4b4, Te6edf3devTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3forceLoadFileTff7b72: Tb4b4b4(Te6edf3objTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3objTb4b4b4.Te6edf3isDevice Tff7b72|| Te6edf3objTb4b4b4.Te6edf3isFolder Tff7b72|| Te6edf3objTb4b4b4.Te6edf3link Tff7b72|| Te6edf3objTb4b4b4.Te6edf3contentsTb4b4b4) Tff7b72return Tff7b72trueTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3XMLHttpRequest Tff7b72!= Ta5d6ff"undefined"Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(
Ta5d6ff"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."
Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3read_Tb4b4b4) Tb4b4b4{
T8b949e// Command-line.
Tff7b72try Tb4b4b4{
T8b949e// WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
T8b949e// read() will try to parse UTF8.
Te6edf3objTb4b4b4.Te6edf3contents Tff7b72= Te6edf3intArrayFromStringTb4b4b4(Te6edf3read_Tb4b4b4(Te6edf3objTb4b4b4.Te6edf3urlTb4b4b4)Tb4b4b4, Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3objTb4b4b4.Te6edf3usedBytes Tff7b72= Te6edf3objTb4b4b4.Te6edf3contentsTb4b4b4.Te6edf3lengthTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff29Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(Ta5d6ff"Cannot load without read() or XMLHttpRequest."Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3createLazyFileTff7b72: Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3urlTb4b4b4, Te6edf3canReadTb4b4b4, Te6edf3canWriteTb4b4b4) Tb4b4b4=> Tb4b4b4{
T8b949e// Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
T8b949e/** @constructor */
Tff7b72function Te6edf3LazyUint8ArrayTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3lengthKnown Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3chunks Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4; T8b949e// Loaded chunks. Index is the chunk number
Tb4b4b4}
Te6edf3LazyUint8ArrayTb4b4b4.Te6edf3prototypeTb4b4b4.Te6edf3get Tff7b72= T8b949e/** @this{Object} */ Tff7b72function Te6edf3LazyUint8Array_getTb4b4b4(Te6edf3idxTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3idx Tff7b72> Tff7b72thisTb4b4b4.Te6edf3length Tff7b72- T79c0ff1 Tff7b72|| Te6edf3idx Tff7b72< T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72undefinedTb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3chunkOffset Tff7b72= Te6edf3idx Tff7b72% Tff7b72thisTb4b4b4.Te6edf3chunkSizeTb4b4b4;
Tff7b72var Te6edf3chunkNum Tff7b72= Tb4b4b4(Te6edf3idx Tff7b72/ Tff7b72thisTb4b4b4.Te6edf3chunkSizeTb4b4b4) Tff7b72| T79c0ff0Tb4b4b4;
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3getterTb4b4b4(Te6edf3chunkNumTb4b4b4)Tb4b4b4[Te6edf3chunkOffsetTb4b4b4]Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3LazyUint8ArrayTb4b4b4.Te6edf3prototypeTb4b4b4.Te6edf3setDataGetter Tff7b72= Tff7b72function Te6edf3LazyUint8Array_setDataGetterTb4b4b4(Te6edf3getterTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3getter Tff7b72= Te6edf3getterTb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3LazyUint8ArrayTb4b4b4.Te6edf3prototypeTb4b4b4.Te6edf3cacheLength Tff7b72= Tff7b72function Te6edf3LazyUint8Array_cacheLengthTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// Find length
Tff7b72var Te6edf3xhr Tff7b72= Tff7b72new Te6edf3XMLHttpRequestTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3xhrTb4b4b4.Te6edf3openTb4b4b4(Ta5d6ff"HEAD"Tb4b4b4, Te6edf3urlTb4b4b4, Tff7b72falseTb4b4b4)Tb4b4b4;
Te6edf3xhrTb4b4b4.Te6edf3sendTb4b4b4(Tff7b72nullTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Tb4b4b4(Tb4b4b4(Te6edf3xhrTb4b4b4.Te6edf3status Tff7b72>= T79c0ff200 Tff7b72&& Te6edf3xhrTb4b4b4.Te6edf3status Tff7b72< T79c0ff300Tb4b4b4) Tff7b72|| Te6edf3xhrTb4b4b4.Te6edf3status Tff7b72=== T79c0ff304Tb4b4b4)Tb4b4b4)
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(Ta5d6ff"Couldn't load " Tff7b72+ Te6edf3url Tff7b72+ Ta5d6ff". Status: " Tff7b72+ Te6edf3xhrTb4b4b4.Te6edf3statusTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3datalength Tff7b72= Tffa657NumberTb4b4b4(Te6edf3xhrTb4b4b4.Te6edf3getResponseHeaderTb4b4b4(Ta5d6ff"Content-length"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3headerTb4b4b4;
Tff7b72var Te6edf3hasByteServing Tff7b72= Tb4b4b4(Te6edf3header Tff7b72= Te6edf3xhrTb4b4b4.Te6edf3getResponseHeaderTb4b4b4(Ta5d6ff"Accept-Ranges"Tb4b4b4)Tb4b4b4) Tff7b72&& Te6edf3header Tff7b72=== Ta5d6ff"bytes"Tb4b4b4;
Tff7b72var Te6edf3usesGzip Tff7b72= Tb4b4b4(Te6edf3header Tff7b72= Te6edf3xhrTb4b4b4.Te6edf3getResponseHeaderTb4b4b4(Ta5d6ff"Content-Encoding"Tb4b4b4)Tb4b4b4) Tff7b72&& Te6edf3header Tff7b72=== Ta5d6ff"gzip"Tb4b4b4;
Tff7b72var Te6edf3chunkSize Tff7b72= T79c0ff1024 Tff7b72* T79c0ff1024Tb4b4b4; T8b949e// Chunk size in bytes
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hasByteServingTb4b4b4) Te6edf3chunkSize Tff7b72= Te6edf3datalengthTb4b4b4;
T8b949e// Function to get a range from the remote URL.
Tff7b72var Te6edf3doXHR Tff7b72= Tb4b4b4(Tff7b72fromTb4b4b4, Te6edf3toTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72from Tff7b72> Te6edf3toTb4b4b4)
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(Ta5d6ff"invalid range (" Tff7b72+ Tff7b72from Tff7b72+ Ta5d6ff", " Tff7b72+ Te6edf3to Tff7b72+ Ta5d6ff") or no bytes requested!"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3to Tff7b72> Te6edf3datalength Tff7b72- T79c0ff1Tb4b4b4)
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(Ta5d6ff"only " Tff7b72+ Te6edf3datalength Tff7b72+ Ta5d6ff" bytes available! programmer error!"Tb4b4b4)Tb4b4b4;
T8b949e// TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
Tff7b72var Te6edf3xhr Tff7b72= Tff7b72new Te6edf3XMLHttpRequestTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3xhrTb4b4b4.Te6edf3openTb4b4b4(Ta5d6ff"GET"Tb4b4b4, Te6edf3urlTb4b4b4, Tff7b72falseTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3datalength Tff7b72!== Te6edf3chunkSizeTb4b4b4) Te6edf3xhrTb4b4b4.Te6edf3setRequestHeaderTb4b4b4(Ta5d6ff"Range"Tb4b4b4, Ta5d6ff"bytes=" Tff7b72+ Tff7b72from Tff7b72+ Ta5d6ff"-" Tff7b72+ Te6edf3toTb4b4b4)Tb4b4b4;
T8b949e// Some hints to the browser that we want binary data.
Te6edf3xhrTb4b4b4.Te6edf3responseType Tff7b72= Ta5d6ff"arraybuffer"Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3xhrTb4b4b4.Te6edf3overrideMimeTypeTb4b4b4) Tb4b4b4{
Te6edf3xhrTb4b4b4.Te6edf3overrideMimeTypeTb4b4b4(Ta5d6ff"text/plain; charset=x-user-defined"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3xhrTb4b4b4.Te6edf3sendTb4b4b4(Tff7b72nullTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Tb4b4b4(Tb4b4b4(Te6edf3xhrTb4b4b4.Te6edf3status Tff7b72>= T79c0ff200 Tff7b72&& Te6edf3xhrTb4b4b4.Te6edf3status Tff7b72< T79c0ff300Tb4b4b4) Tff7b72|| Te6edf3xhrTb4b4b4.Te6edf3status Tff7b72=== T79c0ff304Tb4b4b4)Tb4b4b4)
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(Ta5d6ff"Couldn't load " Tff7b72+ Te6edf3url Tff7b72+ Ta5d6ff". Status: " Tff7b72+ Te6edf3xhrTb4b4b4.Te6edf3statusTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3xhrTb4b4b4.Te6edf3response Tff7b72!== Tff7b72undefinedTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72new Tffa657Uint8ArrayTb4b4b4(T8b949e/** @type{Array<number>} */ Tb4b4b4(Te6edf3xhrTb4b4b4.Te6edf3response Tff7b72|| Tb4b4b4[Tb4b4b4]Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3intArrayFromStringTb4b4b4(Te6edf3xhrTb4b4b4.Te6edf3responseText Tff7b72|| Ta5d6ff""Tb4b4b4, Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tff7b72var Te6edf3lazyArray Tff7b72= Tff7b72thisTb4b4b4;
Te6edf3lazyArrayTb4b4b4.Te6edf3setDataGetterTb4b4b4(Tb4b4b4(Te6edf3chunkNumTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3start Tff7b72= Te6edf3chunkNum Tff7b72* Te6edf3chunkSizeTb4b4b4;
Tff7b72var Te6edf3end Tff7b72= Tb4b4b4(Te6edf3chunkNum Tff7b72+ T79c0ff1Tb4b4b4) Tff7b72* Te6edf3chunkSize Tff7b72- T79c0ff1Tb4b4b4; T8b949e// including this byte
Te6edf3end Tff7b72= Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Te6edf3endTb4b4b4, Te6edf3datalength Tff7b72- T79c0ff1Tb4b4b4)Tb4b4b4; T8b949e// if datalength-1 is selected, this is the last block
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3lazyArrayTb4b4b4.Te6edf3chunksTb4b4b4[Te6edf3chunkNumTb4b4b4] Tff7b72== Ta5d6ff"undefined"Tb4b4b4) Tb4b4b4{
Te6edf3lazyArrayTb4b4b4.Te6edf3chunksTb4b4b4[Te6edf3chunkNumTb4b4b4] Tff7b72= Te6edf3doXHRTb4b4b4(Te6edf3startTb4b4b4, Te6edf3endTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3lazyArrayTb4b4b4.Te6edf3chunksTb4b4b4[Te6edf3chunkNumTb4b4b4] Tff7b72== Ta5d6ff"undefined"Tb4b4b4) Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(Ta5d6ff"doXHR failed!"Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3lazyArrayTb4b4b4.Te6edf3chunksTb4b4b4[Te6edf3chunkNumTb4b4b4]Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3usesGzip Tff7b72|| Tff7b72!Te6edf3datalengthTb4b4b4) Tb4b4b4{
T8b949e// if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length
Te6edf3chunkSize Tff7b72= Te6edf3datalength Tff7b72= T79c0ff1Tb4b4b4; T8b949e// this will force getter(0)/doXHR do download the whole file
Te6edf3datalength Tff7b72= Tff7b72thisTb4b4b4.Te6edf3getterTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4.Te6edf3lengthTb4b4b4;
Te6edf3chunkSize Tff7b72= Te6edf3datalengthTb4b4b4;
Te6edf3outTb4b4b4(Ta5d6ff"LazyFiles on gzip forces download of the whole file when length is accessed"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3_length Tff7b72= Te6edf3datalengthTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3_chunkSize Tff7b72= Te6edf3chunkSizeTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3lengthKnown Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4}Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3XMLHttpRequest Tff7b72!= Ta5d6ff"undefined"Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3ENVIRONMENT_IS_WORKERTb4b4b4)
Tff7b72throw Ta5d6ff"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"Tb4b4b4;
Tff7b72var Te6edf3lazyArray Tff7b72= Tff7b72new Te6edf3LazyUint8ArrayTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657ObjectTb4b4b4.Te6edf3definePropertiesTb4b4b4(Te6edf3lazyArrayTb4b4b4, Tb4b4b4{
Te6edf3lengthTff7b72: Tb4b4b4{
Te6edf3getTff7b72: T8b949e/** @this{Object} */ Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3lengthKnownTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3cacheLengthTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3_lengthTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3chunkSizeTff7b72: Tb4b4b4{
Te6edf3getTff7b72: T8b949e/** @this{Object} */ Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3lengthKnownTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3cacheLengthTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3_chunkSizeTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3properties Tff7b72= Tb4b4b4{ Te6edf3isDeviceTff7b72: Tff7b72falseTb4b4b4, Te6edf3contentsTff7b72: Te6edf3lazyArray Tb4b4b4}Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72var Te6edf3properties Tff7b72= Tb4b4b4{ Te6edf3isDeviceTff7b72: Tff7b72falseTb4b4b4, Te6edf3urlTff7b72: Te6edf3url Tb4b4b4}Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3node Tff7b72= Te6edf3FSTb4b4b4.Te6edf3createFileTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3propertiesTb4b4b4, Te6edf3canReadTb4b4b4, Te6edf3canWriteTb4b4b4)Tb4b4b4;
T8b949e// This is a total hack, but I want to get this lazy file code out of the
T8b949e// core of MEMFS. If we want to keep this lazy file concept I feel it should
T8b949e// be its own thin LAZYFS proxying calls to MEMFS.
Tff7b72if Tb4b4b4(Te6edf3propertiesTb4b4b4.Te6edf3contentsTb4b4b4) Tb4b4b4{
Te6edf3nodeTb4b4b4.Te6edf3contents Tff7b72= Te6edf3propertiesTb4b4b4.Te6edf3contentsTb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3propertiesTb4b4b4.Te6edf3urlTb4b4b4) Tb4b4b4{
Te6edf3nodeTb4b4b4.Te6edf3contents Tff7b72= Tff7b72nullTb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3url Tff7b72= Te6edf3propertiesTb4b4b4.Te6edf3urlTb4b4b4;
Tb4b4b4}
T8b949e// Add a function that defers querying the file size until it is asked the first time.
Tffa657ObjectTb4b4b4.Te6edf3definePropertiesTb4b4b4(Te6edf3nodeTb4b4b4, Tb4b4b4{
Te6edf3usedBytesTff7b72: Tb4b4b4{
Te6edf3getTff7b72: T8b949e/** @this {FSNode} */ Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3contentsTb4b4b4.Te6edf3lengthTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e// override each stream op with one that tries to force load the lazy file first
Tff7b72var Te6edf3stream_ops Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72var Te6edf3keys Tff7b72= Tffa657ObjectTb4b4b4.Te6edf3keysTb4b4b4(Te6edf3nodeTb4b4b4.Te6edf3stream_opsTb4b4b4)Tb4b4b4;
Te6edf3keysTb4b4b4.Te6edf3forEachTb4b4b4(Tb4b4b4(Te6edf3keyTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3fn Tff7b72= Te6edf3nodeTb4b4b4.Te6edf3stream_opsTb4b4b4[Te6edf3keyTb4b4b4]Tb4b4b4;
Te6edf3stream_opsTb4b4b4[Te6edf3keyTb4b4b4] Tff7b72= Tff7b72function Te6edf3forceLoadLazyFileTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3forceLoadFileTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3fnTb4b4b4.Te6edf3applyTb4b4b4(Tff7b72nullTb4b4b4, Te6edf3argumentsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72function Te6edf3writeChunksTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3positionTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3contents Tff7b72= Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3contentsTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3position Tff7b72>= Te6edf3contentsTb4b4b4.Te6edf3lengthTb4b4b4) Tff7b72return T79c0ff0Tb4b4b4;
Tff7b72var Te6edf3size Tff7b72= Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Te6edf3contentsTb4b4b4.Te6edf3length Tff7b72- Te6edf3positionTb4b4b4, Te6edf3lengthTb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(Te6edf3size Tff7b72>= T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3contentsTb4b4b4.Te6edf3sliceTb4b4b4) Tb4b4b4{
T8b949e// normal array
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3sizeTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Te6edf3bufferTb4b4b4[Te6edf3offset Tff7b72+ Te6edf3iTb4b4b4] Tff7b72= Te6edf3contentsTb4b4b4[Te6edf3position Tff7b72+ Te6edf3iTb4b4b4]Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3sizeTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
T8b949e// LazyUint8Array from sync binary XHR
Te6edf3bufferTb4b4b4[Te6edf3offset Tff7b72+ Te6edf3iTb4b4b4] Tff7b72= Te6edf3contentsTb4b4b4.Te6edf3getTb4b4b4(Te6edf3position Tff7b72+ Te6edf3iTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3sizeTb4b4b4;
Tb4b4b4}
T8b949e// use a custom read function
Te6edf3stream_opsTb4b4b4.Te6edf3read Tff7b72= Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3positionTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3forceLoadFileTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3writeChunksTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3positionTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
T8b949e// use a custom mmap function
Te6edf3stream_opsTb4b4b4.Te6edf3mmap Tff7b72= Tb4b4b4(Te6edf3streamTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3positionTb4b4b4, Te6edf3protTb4b4b4, Te6edf3flagsTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3forceLoadFileTb4b4b4(Te6edf3nodeTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3ptr Tff7b72= Te6edf3mmapAllocTb4b4b4(Te6edf3lengthTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3ptrTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff48Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3writeChunksTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3HEAP8Tb4b4b4, Te6edf3ptrTb4b4b4, Te6edf3lengthTb4b4b4, Te6edf3positionTb4b4b4)Tb4b4b4;
Tff7b72return Tb4b4b4{ Te6edf3ptrTff7b72: Te6edf3ptrTb4b4b4, Te6edf3allocatedTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3nodeTb4b4b4.Te6edf3stream_ops Tff7b72= Te6edf3stream_opsTb4b4b4;
Tff7b72return Te6edf3nodeTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createPreloadedFileTff7b72: Tb4b4b4(
Te6edf3parentTb4b4b4,
Te6edf3nameTb4b4b4,
Te6edf3urlTb4b4b4,
Te6edf3canReadTb4b4b4,
Te6edf3canWriteTb4b4b4,
Te6edf3onloadTb4b4b4,
Te6edf3onerrorTb4b4b4,
Te6edf3dontCreateFileTb4b4b4,
Te6edf3canOwnTb4b4b4,
Te6edf3preFinish
Tb4b4b4) Tb4b4b4=> Tb4b4b4{
T8b949e// TODO we should allow people to just pass in a complete filename instead
T8b949e// of parent and name being that we just join them anyways
Tff7b72var Te6edf3fullname Tff7b72= Te6edf3name Tff7b72? Te6edf3PATH_FSTb4b4b4.Te6edf3resolveTb4b4b4(Te6edf3PATHTb4b4b4.Te6edf3join2Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4) Tff7b72: Te6edf3parentTb4b4b4;
Tff7b72var Te6edf3dep Tff7b72= Te6edf3getUniqueRunDependencyTb4b4b4(Ta5d6ff"cp " Tff7b72+ Te6edf3fullnameTb4b4b4)Tb4b4b4; T8b949e// might have several active requests for the same fullname
Tff7b72function Te6edf3processDataTb4b4b4(Te6edf3byteArrayTb4b4b4) Tb4b4b4{
Tff7b72function Te6edf3finishTb4b4b4(Te6edf3byteArrayTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3preFinishTb4b4b4) Te6edf3preFinishTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3dontCreateFileTb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3createDataFileTb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3byteArrayTb4b4b4, Te6edf3canReadTb4b4b4, Te6edf3canWriteTb4b4b4, Te6edf3canOwnTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3onloadTb4b4b4) Te6edf3onloadTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3removeRunDependencyTb4b4b4(Te6edf3depTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(
Te6edf3BrowserTb4b4b4.Te6edf3handledByPreloadPluginTb4b4b4(Te6edf3byteArrayTb4b4b4, Te6edf3fullnameTb4b4b4, Te6edf3finishTb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3onerrorTb4b4b4) Te6edf3onerrorTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3removeRunDependencyTb4b4b4(Te6edf3depTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)
Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3finishTb4b4b4(Te6edf3byteArrayTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3addRunDependencyTb4b4b4(Te6edf3depTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3url Tff7b72== Ta5d6ff"string"Tb4b4b4) Tb4b4b4{
Te6edf3asyncLoadTb4b4b4(Te6edf3urlTb4b4b4, Tb4b4b4(Te6edf3byteArrayTb4b4b4) Tb4b4b4=> Te6edf3processDataTb4b4b4(Te6edf3byteArrayTb4b4b4)Tb4b4b4, Te6edf3onerrorTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3processDataTb4b4b4(Te6edf3urlTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3indexedDBTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Tb4b4b4(
Tffa657windowTb4b4b4.Te6edf3indexedDB Tff7b72||
Tffa657windowTb4b4b4.Te6edf3mozIndexedDB Tff7b72||
Tffa657windowTb4b4b4.Te6edf3webkitIndexedDB Tff7b72||
Tffa657windowTb4b4b4.Te6edf3msIndexedDB Tff7b72||
Tffa657globalThisTb4b4b4.Te6edf3indexedDB
Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3DB_NAMETff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Ta5d6ff"EM_FS_" Tff7b72+ Tffa657windowTb4b4b4.Te6edf3locationTb4b4b4.Te6edf3pathnameTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3DB_VERSIONTff7b72: T79c0ff20Tb4b4b4,
Te6edf3DB_STORE_NAMETff7b72: Ta5d6ff"FILE_DATA"Tb4b4b4,
Te6edf3saveFilesToDBTff7b72: Tb4b4b4(Te6edf3pathsTb4b4b4, Te6edf3onloadTb4b4b4, Te6edf3onerrorTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3onload Tff7b72= Te6edf3onload Tff7b72|| Tb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3onerror Tff7b72= Te6edf3onerror Tff7b72|| Tb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3indexedDB Tff7b72= Te6edf3FSTb4b4b4.Te6edf3indexedDBTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3openRequest Tff7b72= Te6edf3indexedDBTb4b4b4.Te6edf3openTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3DB_NAMETb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3FSTb4b4b4.Te6edf3DB_VERSIONTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3onerrorTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3openRequestTb4b4b4.Te6edf3onupgradeneeded Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3outTb4b4b4(Ta5d6ff"creating db"Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3db Tff7b72= Te6edf3openRequestTb4b4b4.Te6edf3resultTb4b4b4;
Te6edf3dbTb4b4b4.Te6edf3createObjectStoreTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3DB_STORE_NAMETb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3openRequestTb4b4b4.Te6edf3onsuccess Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3db Tff7b72= Te6edf3openRequestTb4b4b4.Te6edf3resultTb4b4b4;
Tff7b72var Te6edf3transaction Tff7b72= Te6edf3dbTb4b4b4.Te6edf3transactionTb4b4b4(Tb4b4b4[Te6edf3FSTb4b4b4.Te6edf3DB_STORE_NAMETb4b4b4]Tb4b4b4, Ta5d6ff"readwrite"Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3files Tff7b72= Te6edf3transactionTb4b4b4.Te6edf3objectStoreTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3DB_STORE_NAMETb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3ok Tff7b72= T79c0ff0Tb4b4b4,
Te6edf3fail Tff7b72= T79c0ff0Tb4b4b4,
Te6edf3total Tff7b72= Te6edf3pathsTb4b4b4.Te6edf3lengthTb4b4b4;
Tff7b72function Te6edf3finishTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3fail Tff7b72== T79c0ff0Tb4b4b4) Te6edf3onloadTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72else Te6edf3onerrorTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3pathsTb4b4b4.Te6edf3forEachTb4b4b4(Tb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3putRequest Tff7b72= Te6edf3filesTb4b4b4.Te6edf3putTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3analyzePathTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4.Te6edf3objectTb4b4b4.Te6edf3contentsTb4b4b4, Te6edf3pathTb4b4b4)Tb4b4b4;
Te6edf3putRequestTb4b4b4.Te6edf3onsuccess Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3okTff7b72++Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ok Tff7b72+ Te6edf3fail Tff7b72== Te6edf3totalTb4b4b4) Te6edf3finishTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3putRequestTb4b4b4.Te6edf3onerror Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3failTff7b72++Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ok Tff7b72+ Te6edf3fail Tff7b72== Te6edf3totalTb4b4b4) Te6edf3finishTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3transactionTb4b4b4.Te6edf3onerror Tff7b72= Te6edf3onerrorTb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3openRequestTb4b4b4.Te6edf3onerror Tff7b72= Te6edf3onerrorTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3loadFilesFromDBTff7b72: Tb4b4b4(Te6edf3pathsTb4b4b4, Te6edf3onloadTb4b4b4, Te6edf3onerrorTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3onload Tff7b72= Te6edf3onload Tff7b72|| Tb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3onerror Tff7b72= Te6edf3onerror Tff7b72|| Tb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3indexedDB Tff7b72= Te6edf3FSTb4b4b4.Te6edf3indexedDBTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3openRequest Tff7b72= Te6edf3indexedDBTb4b4b4.Te6edf3openTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3DB_NAMETb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3FSTb4b4b4.Te6edf3DB_VERSIONTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3onerrorTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3openRequestTb4b4b4.Te6edf3onupgradeneeded Tff7b72= Te6edf3onerrorTb4b4b4; T8b949e// no database to load from
Te6edf3openRequestTb4b4b4.Te6edf3onsuccess Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3db Tff7b72= Te6edf3openRequestTb4b4b4.Te6edf3resultTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3transaction Tff7b72= Te6edf3dbTb4b4b4.Te6edf3transactionTb4b4b4(Tb4b4b4[Te6edf3FSTb4b4b4.Te6edf3DB_STORE_NAMETb4b4b4]Tb4b4b4, Ta5d6ff"readonly"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3onerrorTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3files Tff7b72= Te6edf3transactionTb4b4b4.Te6edf3objectStoreTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3DB_STORE_NAMETb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3ok Tff7b72= T79c0ff0Tb4b4b4,
Te6edf3fail Tff7b72= T79c0ff0Tb4b4b4,
Te6edf3total Tff7b72= Te6edf3pathsTb4b4b4.Te6edf3lengthTb4b4b4;
Tff7b72function Te6edf3finishTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3fail Tff7b72== T79c0ff0Tb4b4b4) Te6edf3onloadTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72else Te6edf3onerrorTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3pathsTb4b4b4.Te6edf3forEachTb4b4b4(Tb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3getRequest Tff7b72= Te6edf3filesTb4b4b4.Te6edf3getTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Te6edf3getRequestTb4b4b4.Te6edf3onsuccess Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3FSTb4b4b4.Te6edf3analyzePathTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4.Te6edf3existsTb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3unlinkTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3FSTb4b4b4.Te6edf3createDataFileTb4b4b4(
Te6edf3PATHTb4b4b4.Te6edf3dirnameTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4,
Te6edf3PATHTb4b4b4.Te6edf3basenameTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4,
Te6edf3getRequestTb4b4b4.Te6edf3resultTb4b4b4,
Tff7b72trueTb4b4b4,
Tff7b72trueTb4b4b4,
Tff7b72true
Tb4b4b4)Tb4b4b4;
Te6edf3okTff7b72++Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ok Tff7b72+ Te6edf3fail Tff7b72== Te6edf3totalTb4b4b4) Te6edf3finishTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3getRequestTb4b4b4.Te6edf3onerror Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3failTff7b72++Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ok Tff7b72+ Te6edf3fail Tff7b72== Te6edf3totalTb4b4b4) Te6edf3finishTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3transactionTb4b4b4.Te6edf3onerror Tff7b72= Te6edf3onerrorTb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3openRequestTb4b4b4.Te6edf3onerror Tff7b72= Te6edf3onerrorTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3absolutePathTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3abortTb4b4b4(Ta5d6ff"FS.absolutePath has been removed; use PATH_FS.resolve instead"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createFolderTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3abortTb4b4b4(Ta5d6ff"FS.createFolder has been removed; use FS.mkdir instead"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3createLinkTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3abortTb4b4b4(Ta5d6ff"FS.createLink has been removed; use FS.symlink instead"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3joinPathTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3abortTb4b4b4(Ta5d6ff"FS.joinPath has been removed; use PATH.join instead"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mmapAllocTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3abortTb4b4b4(Ta5d6ff"FS.mmapAlloc has been replaced by the top level function mmapAlloc"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3standardizePathTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3abortTb4b4b4(Ta5d6ff"FS.standardizePath has been removed; use PATH.normalize instead"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72var Te6edf3SYSCALLS Tff7b72= Tb4b4b4{
Te6edf3DEFAULT_POLLMASKTff7b72: T79c0ff5Tb4b4b4,
Te6edf3calculateAtTff7b72: Tff7b72function Tb4b4b4(Te6edf3dirfdTb4b4b4, Te6edf3pathTb4b4b4, Te6edf3allowEmptyTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3PATHTb4b4b4.Te6edf3isAbsTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3pathTb4b4b4;
Tb4b4b4}
T8b949e// relative path
Tff7b72var Te6edf3dirTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3dirfd Tff7b72=== Tff7b72-T79c0ff100Tb4b4b4) Tb4b4b4{
Te6edf3dir Tff7b72= Te6edf3FSTb4b4b4.Te6edf3cwdTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72var Te6edf3dirstream Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStreamFromFDTb4b4b4(Te6edf3dirfdTb4b4b4)Tb4b4b4;
Te6edf3dir Tff7b72= Te6edf3dirstreamTb4b4b4.Te6edf3pathTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3pathTb4b4b4.Te6edf3length Tff7b72== T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3allowEmptyTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff44Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3dirTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3PATHTb4b4b4.Te6edf3join2Tb4b4b4(Te6edf3dirTb4b4b4, Te6edf3pathTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3doStatTff7b72: Tff7b72function Tb4b4b4(Te6edf3funcTb4b4b4, Te6edf3pathTb4b4b4, Te6edf3bufTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3stat Tff7b72= Te6edf3funcTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3e Tff7b72&& Te6edf3eTb4b4b4.Te6edf3node Tff7b72&& Te6edf3PATHTb4b4b4.Te6edf3normalizeTb4b4b4(Te6edf3pathTb4b4b4) Tff7b72!== Te6edf3PATHTb4b4b4.Te6edf3normalizeTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3getPathTb4b4b4(Te6edf3eTb4b4b4.Te6edf3nodeTb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
T8b949e// an error occurred while trying to look up the path; we should just report ENOTDIR
Tff7b72return Tff7b72-T79c0ff54Tb4b4b4;
Tb4b4b4}
Tff7b72throw Te6edf3eTb4b4b4;
Tb4b4b4}
Te6edf3HEAP32Tb4b4b4[Te6edf3buf Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3statTb4b4b4.Te6edf3devTb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff8Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3statTb4b4b4.Te6edf3inoTb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff12Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3statTb4b4b4.Te6edf3modeTb4b4b4;
Te6edf3HEAPU32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff16Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3statTb4b4b4.Te6edf3nlinkTb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff20Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3statTb4b4b4.Te6edf3uidTb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff24Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3statTb4b4b4.Te6edf3gidTb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff28Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3statTb4b4b4.Te6edf3rdevTb4b4b4;
Tb4b4b4(Tb4b4b4(Te6edf3tempI64 Tff7b72= Tb4b4b4[
Te6edf3statTb4b4b4.Te6edf3size Tff7b72>>> T79c0ff0Tb4b4b4,
Tb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72= Te6edf3statTb4b4b4.Te6edf3sizeTb4b4b4)Tb4b4b4,
Tff7b72+Tffa657MathTb4b4b4.Te6edf3absTb4b4b4(Te6edf3tempDoubleTb4b4b4) Tff7b72>= T79c0ff1.0
Tff7b72? Te6edf3tempDouble Tff7b72> T79c0ff0.0
Tff7b72? Tb4b4b4(Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Tff7b72+Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3tempDouble Tff7b72/ T79c0ff4294967296.0Tb4b4b4)Tb4b4b4, T79c0ff4294967295.0Tb4b4b4) Tff7b72| T79c0ff0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: Tff7b72~Tff7b72~Tff7b72+Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72- Tff7b72+Tb4b4b4(Tff7b72~Tff7b72~Te6edf3tempDouble Tff7b72>>> T79c0ff0Tb4b4b4)Tb4b4b4) Tff7b72/ T79c0ff4294967296.0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: T79c0ff0Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff40Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff44Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff48Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= T79c0ff4096Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff52Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3statTb4b4b4.Te6edf3blocksTb4b4b4;
Tb4b4b4(Tb4b4b4(Te6edf3tempI64 Tff7b72= Tb4b4b4[
Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3statTb4b4b4.Te6edf3atimeTb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4) Tff7b72/ T79c0ff1000Tb4b4b4) Tff7b72>>> T79c0ff0Tb4b4b4,
Tb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72= Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3statTb4b4b4.Te6edf3atimeTb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4) Tff7b72/ T79c0ff1000Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tff7b72+Tffa657MathTb4b4b4.Te6edf3absTb4b4b4(Te6edf3tempDoubleTb4b4b4) Tff7b72>= T79c0ff1.0
Tff7b72? Te6edf3tempDouble Tff7b72> T79c0ff0.0
Tff7b72? Tb4b4b4(Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Tff7b72+Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3tempDouble Tff7b72/ T79c0ff4294967296.0Tb4b4b4)Tb4b4b4, T79c0ff4294967295.0Tb4b4b4) Tff7b72| T79c0ff0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: Tff7b72~Tff7b72~Tff7b72+Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72- Tff7b72+Tb4b4b4(Tff7b72~Tff7b72~Te6edf3tempDouble Tff7b72>>> T79c0ff0Tb4b4b4)Tb4b4b4) Tff7b72/ T79c0ff4294967296.0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: T79c0ff0Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff56Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff60Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3HEAPU32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff64Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= T79c0ff0Tb4b4b4;
Tb4b4b4(Tb4b4b4(Te6edf3tempI64 Tff7b72= Tb4b4b4[
Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3statTb4b4b4.Te6edf3mtimeTb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4) Tff7b72/ T79c0ff1000Tb4b4b4) Tff7b72>>> T79c0ff0Tb4b4b4,
Tb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72= Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3statTb4b4b4.Te6edf3mtimeTb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4) Tff7b72/ T79c0ff1000Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tff7b72+Tffa657MathTb4b4b4.Te6edf3absTb4b4b4(Te6edf3tempDoubleTb4b4b4) Tff7b72>= T79c0ff1.0
Tff7b72? Te6edf3tempDouble Tff7b72> T79c0ff0.0
Tff7b72? Tb4b4b4(Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Tff7b72+Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3tempDouble Tff7b72/ T79c0ff4294967296.0Tb4b4b4)Tb4b4b4, T79c0ff4294967295.0Tb4b4b4) Tff7b72| T79c0ff0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: Tff7b72~Tff7b72~Tff7b72+Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72- Tff7b72+Tb4b4b4(Tff7b72~Tff7b72~Te6edf3tempDouble Tff7b72>>> T79c0ff0Tb4b4b4)Tb4b4b4) Tff7b72/ T79c0ff4294967296.0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: T79c0ff0Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff72Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff76Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3HEAPU32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff80Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= T79c0ff0Tb4b4b4;
Tb4b4b4(Tb4b4b4(Te6edf3tempI64 Tff7b72= Tb4b4b4[
Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3statTb4b4b4.Te6edf3ctimeTb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4) Tff7b72/ T79c0ff1000Tb4b4b4) Tff7b72>>> T79c0ff0Tb4b4b4,
Tb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72= Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3statTb4b4b4.Te6edf3ctimeTb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4) Tff7b72/ T79c0ff1000Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tff7b72+Tffa657MathTb4b4b4.Te6edf3absTb4b4b4(Te6edf3tempDoubleTb4b4b4) Tff7b72>= T79c0ff1.0
Tff7b72? Te6edf3tempDouble Tff7b72> T79c0ff0.0
Tff7b72? Tb4b4b4(Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Tff7b72+Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3tempDouble Tff7b72/ T79c0ff4294967296.0Tb4b4b4)Tb4b4b4, T79c0ff4294967295.0Tb4b4b4) Tff7b72| T79c0ff0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: Tff7b72~Tff7b72~Tff7b72+Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72- Tff7b72+Tb4b4b4(Tff7b72~Tff7b72~Te6edf3tempDouble Tff7b72>>> T79c0ff0Tb4b4b4)Tb4b4b4) Tff7b72/ T79c0ff4294967296.0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: T79c0ff0Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff88Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff92Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3HEAPU32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff96Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= T79c0ff0Tb4b4b4;
Tb4b4b4(Tb4b4b4(Te6edf3tempI64 Tff7b72= Tb4b4b4[
Te6edf3statTb4b4b4.Te6edf3ino Tff7b72>>> T79c0ff0Tb4b4b4,
Tb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72= Te6edf3statTb4b4b4.Te6edf3inoTb4b4b4)Tb4b4b4,
Tff7b72+Tffa657MathTb4b4b4.Te6edf3absTb4b4b4(Te6edf3tempDoubleTb4b4b4) Tff7b72>= T79c0ff1.0
Tff7b72? Te6edf3tempDouble Tff7b72> T79c0ff0.0
Tff7b72? Tb4b4b4(Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Tff7b72+Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3tempDouble Tff7b72/ T79c0ff4294967296.0Tb4b4b4)Tb4b4b4, T79c0ff4294967295.0Tb4b4b4) Tff7b72| T79c0ff0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: Tff7b72~Tff7b72~Tff7b72+Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72- Tff7b72+Tb4b4b4(Tff7b72~Tff7b72~Te6edf3tempDouble Tff7b72>>> T79c0ff0Tb4b4b4)Tb4b4b4) Tff7b72/ T79c0ff4294967296.0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: T79c0ff0Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff104Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3buf Tff7b72+ T79c0ff108Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3doMsyncTff7b72: Tff7b72function Tb4b4b4(Te6edf3addrTb4b4b4, Te6edf3streamTb4b4b4, Te6edf3lenTb4b4b4, Te6edf3flagsTb4b4b4, Te6edf3offsetTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3FSTb4b4b4.Te6edf3isFileTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff43Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3flags Tff7b72& T79c0ff2Tb4b4b4) Tb4b4b4{
T8b949e// MAP_PRIVATE calls need not to be synced back to underlying fs
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3buffer Tff7b72= Te6edf3HEAPU8Tb4b4b4.Te6edf3sliceTb4b4b4(Te6edf3addrTb4b4b4, Te6edf3addr Tff7b72+ Te6edf3lenTb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3msyncTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3lenTb4b4b4, Te6edf3flagsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3varargsTff7b72: Tff7b72undefinedTb4b4b4,
Te6edf3getTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3assertTb4b4b4(Te6edf3SYSCALLSTb4b4b4.Te6edf3varargs Tff7b72!= Tff7b72undefinedTb4b4b4)Tb4b4b4;
Te6edf3SYSCALLSTb4b4b4.Te6edf3varargs Tff7b72+= T79c0ff4Tb4b4b4;
Tff7b72var Te6edf3ret Tff7b72= Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3SYSCALLSTb4b4b4.Te6edf3varargs Tff7b72- T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4]Tb4b4b4;
Tff7b72return Te6edf3retTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3getStrTff7b72: Tff7b72function Tb4b4b4(Te6edf3ptrTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3ret Tff7b72= Te6edf3UTF8ToStringTb4b4b4(Te6edf3ptrTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3retTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3getStreamFromFDTff7b72: Tff7b72function Tb4b4b4(Te6edf3fdTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3stream Tff7b72= Te6edf3FSTb4b4b4.Te6edf3getStreamTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4) Tff7b72throw Tff7b72new Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3streamTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72function Te6edf3___syscall__newselectTb4b4b4(Te6edf3nfdsTb4b4b4, Te6edf3readfdsTb4b4b4, Te6edf3writefdsTb4b4b4, Te6edf3exceptfdsTb4b4b4, Te6edf3timeoutTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
T8b949e// readfds are supported,
T8b949e// writefds checks socket open status
T8b949e// exceptfds not supported
T8b949e// timeout is always 0 - fully async
Te6edf3assertTb4b4b4(Te6edf3nfds Tff7b72<= T79c0ff64Tb4b4b4, Ta5d6ff"nfds must be less than or equal to 64"Tb4b4b4)Tb4b4b4; T8b949e// fd sets have 64 bits // TODO: this could be 1024 based on current musl headers
Te6edf3assertTb4b4b4(Tff7b72!Te6edf3exceptfdsTb4b4b4, Ta5d6ff"exceptfds not supported"Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3total Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72var Te6edf3srcReadLow Tff7b72= Te6edf3readfds Tff7b72? Te6edf3HEAP32Tb4b4b4[Te6edf3readfds Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72: T79c0ff0Tb4b4b4,
Te6edf3srcReadHigh Tff7b72= Te6edf3readfds Tff7b72? Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3readfds Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72: T79c0ff0Tb4b4b4;
Tff7b72var Te6edf3srcWriteLow Tff7b72= Te6edf3writefds Tff7b72? Te6edf3HEAP32Tb4b4b4[Te6edf3writefds Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72: T79c0ff0Tb4b4b4,
Te6edf3srcWriteHigh Tff7b72= Te6edf3writefds Tff7b72? Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3writefds Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72: T79c0ff0Tb4b4b4;
Tff7b72var Te6edf3srcExceptLow Tff7b72= Te6edf3exceptfds Tff7b72? Te6edf3HEAP32Tb4b4b4[Te6edf3exceptfds Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72: T79c0ff0Tb4b4b4,
Te6edf3srcExceptHigh Tff7b72= Te6edf3exceptfds Tff7b72? Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3exceptfds Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72: T79c0ff0Tb4b4b4;
Tff7b72var Te6edf3dstReadLow Tff7b72= T79c0ff0Tb4b4b4,
Te6edf3dstReadHigh Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72var Te6edf3dstWriteLow Tff7b72= T79c0ff0Tb4b4b4,
Te6edf3dstWriteHigh Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72var Te6edf3dstExceptLow Tff7b72= T79c0ff0Tb4b4b4,
Te6edf3dstExceptHigh Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72var Te6edf3allLow Tff7b72=
Tb4b4b4(Te6edf3readfds Tff7b72? Te6edf3HEAP32Tb4b4b4[Te6edf3readfds Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72: T79c0ff0Tb4b4b4) Tff7b72|
Tb4b4b4(Te6edf3writefds Tff7b72? Te6edf3HEAP32Tb4b4b4[Te6edf3writefds Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72: T79c0ff0Tb4b4b4) Tff7b72|
Tb4b4b4(Te6edf3exceptfds Tff7b72? Te6edf3HEAP32Tb4b4b4[Te6edf3exceptfds Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72: T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3allHigh Tff7b72=
Tb4b4b4(Te6edf3readfds Tff7b72? Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3readfds Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72: T79c0ff0Tb4b4b4) Tff7b72|
Tb4b4b4(Te6edf3writefds Tff7b72? Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3writefds Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72: T79c0ff0Tb4b4b4) Tff7b72|
Tb4b4b4(Te6edf3exceptfds Tff7b72? Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3exceptfds Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72: T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3check Tff7b72= Tff7b72function Tb4b4b4(Te6edf3fdTb4b4b4, Te6edf3lowTb4b4b4, Te6edf3highTb4b4b4, Te6edf3valTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3fd Tff7b72< T79c0ff32 Tff7b72? Te6edf3low Tff7b72& Te6edf3val Tff7b72: Te6edf3high Tff7b72& Te6edf3valTb4b4b4;
Tb4b4b4}Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3fd Tff7b72= T79c0ff0Tb4b4b4; Te6edf3fd Tff7b72< Te6edf3nfdsTb4b4b4; Te6edf3fdTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3mask Tff7b72= T79c0ff1 Tff7b72<< Tb4b4b4(Te6edf3fd Tff7b72% T79c0ff32Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3checkTb4b4b4(Te6edf3fdTb4b4b4, Te6edf3allLowTb4b4b4, Te6edf3allHighTb4b4b4, Te6edf3maskTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4; T8b949e// index isn't in the set
Tb4b4b4}
Tff7b72var Te6edf3stream Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStreamFromFDTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3flags Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3DEFAULT_POLLMASKTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3pollTb4b4b4) Tb4b4b4{
Te6edf3flags Tff7b72= Te6edf3streamTb4b4b4.Te6edf3stream_opsTb4b4b4.Te6edf3pollTb4b4b4(Te6edf3streamTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3flags Tff7b72& T79c0ff1 Tff7b72&& Te6edf3checkTb4b4b4(Te6edf3fdTb4b4b4, Te6edf3srcReadLowTb4b4b4, Te6edf3srcReadHighTb4b4b4, Te6edf3maskTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3fd Tff7b72< T79c0ff32 Tff7b72? Tb4b4b4(Te6edf3dstReadLow Tff7b72= Te6edf3dstReadLow Tff7b72| Te6edf3maskTb4b4b4) Tff7b72: Tb4b4b4(Te6edf3dstReadHigh Tff7b72= Te6edf3dstReadHigh Tff7b72| Te6edf3maskTb4b4b4)Tb4b4b4;
Te6edf3totalTff7b72++Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3flags Tff7b72& T79c0ff4 Tff7b72&& Te6edf3checkTb4b4b4(Te6edf3fdTb4b4b4, Te6edf3srcWriteLowTb4b4b4, Te6edf3srcWriteHighTb4b4b4, Te6edf3maskTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3fd Tff7b72< T79c0ff32 Tff7b72? Tb4b4b4(Te6edf3dstWriteLow Tff7b72= Te6edf3dstWriteLow Tff7b72| Te6edf3maskTb4b4b4) Tff7b72: Tb4b4b4(Te6edf3dstWriteHigh Tff7b72= Te6edf3dstWriteHigh Tff7b72| Te6edf3maskTb4b4b4)Tb4b4b4;
Te6edf3totalTff7b72++Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3flags Tff7b72& T79c0ff2 Tff7b72&& Te6edf3checkTb4b4b4(Te6edf3fdTb4b4b4, Te6edf3srcExceptLowTb4b4b4, Te6edf3srcExceptHighTb4b4b4, Te6edf3maskTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3fd Tff7b72< T79c0ff32 Tff7b72? Tb4b4b4(Te6edf3dstExceptLow Tff7b72= Te6edf3dstExceptLow Tff7b72| Te6edf3maskTb4b4b4) Tff7b72: Tb4b4b4(Te6edf3dstExceptHigh Tff7b72= Te6edf3dstExceptHigh Tff7b72| Te6edf3maskTb4b4b4)Tb4b4b4;
Te6edf3totalTff7b72++Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3readfdsTb4b4b4) Tb4b4b4{
Te6edf3HEAP32Tb4b4b4[Te6edf3readfds Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dstReadLowTb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3readfds Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dstReadHighTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3writefdsTb4b4b4) Tb4b4b4{
Te6edf3HEAP32Tb4b4b4[Te6edf3writefds Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dstWriteLowTb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3writefds Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dstWriteHighTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3exceptfdsTb4b4b4) Tb4b4b4{
Te6edf3HEAP32Tb4b4b4[Te6edf3exceptfds Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dstExceptLowTb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3exceptfds Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dstExceptHighTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3totalTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Tff7b72-Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3setErrNoTb4b4b4(Te6edf3valueTb4b4b4) Tb4b4b4{
Te6edf3HEAP32Tb4b4b4[Te6edf3___errno_locationTb4b4b4(Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3valueTb4b4b4;
Tff7b72return Te6edf3valueTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3___syscall_fcntl64Tb4b4b4(Te6edf3fdTb4b4b4, Te6edf3cmdTb4b4b4, Te6edf3varargsTb4b4b4) Tb4b4b4{
Te6edf3SYSCALLSTb4b4b4.Te6edf3varargs Tff7b72= Te6edf3varargsTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3stream Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStreamFromFDTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
Tff7b72switch Tb4b4b4(Te6edf3cmdTb4b4b4) Tb4b4b4{
Tff7b72case T79c0ff0Tff7b72: Tb4b4b4{
Tff7b72var Te6edf3arg Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3arg Tff7b72< T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72-T79c0ff28Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3newStreamTb4b4b4;
Te6edf3newStream Tff7b72= Te6edf3FSTb4b4b4.Te6edf3createStreamTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3argTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3newStreamTb4b4b4.Te6edf3fdTb4b4b4;
Tb4b4b4}
Tff7b72case T79c0ff1Tff7b72:
Tff7b72case T79c0ff2Tff7b72:
Tff7b72return T79c0ff0Tb4b4b4; T8b949e// FD_CLOEXEC makes no sense for a single process.
Tff7b72case T79c0ff3Tff7b72:
Tff7b72return Te6edf3streamTb4b4b4.Te6edf3flagsTb4b4b4;
Tff7b72case T79c0ff4Tff7b72: Tb4b4b4{
Tff7b72var Te6edf3arg Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3streamTb4b4b4.Te6edf3flags Tff7b72|= Te6edf3argTb4b4b4;
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72case T79c0ff5Tff7b72: T8b949e/* case 5: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ Tb4b4b4{
Tff7b72var Te6edf3arg Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3offset Tff7b72= T79c0ff0Tb4b4b4;
T8b949e// We're always unlocked.
Te6edf3HEAP16Tb4b4b4[Tb4b4b4(Te6edf3arg Tff7b72+ Te6edf3offsetTb4b4b4) Tff7b72>> T79c0ff1Tb4b4b4] Tff7b72= T79c0ff2Tb4b4b4;
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72case T79c0ff6Tff7b72:
Tff7b72case T79c0ff7Tff7b72:
T8b949e/* case 6: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */
T8b949e/* case 7: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */
Tff7b72return T79c0ff0Tb4b4b4; T8b949e// Pretend that the locking is successful.
Tff7b72case T79c0ff16Tff7b72:
Tff7b72case T79c0ff8Tff7b72:
Tff7b72return Tff7b72-T79c0ff28Tb4b4b4; T8b949e// These are for sockets. We don't have them fully implemented yet.
Tff7b72case T79c0ff9Tff7b72:
T8b949e// musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fcntl() returns that, and we set errno ourselves.
Te6edf3setErrNoTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4;
Tff7b72return Tff7b72-T79c0ff1Tb4b4b4;
Tff7b72defaultTff7b72: Tb4b4b4{
Tff7b72return Tff7b72-T79c0ff28Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Tff7b72-Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3___syscall_fstat64Tb4b4b4(Te6edf3fdTb4b4b4, Te6edf3bufTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3stream Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStreamFromFDTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3SYSCALLSTb4b4b4.Te6edf3doStatTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3statTb4b4b4, Te6edf3streamTb4b4b4.Te6edf3pathTb4b4b4, Te6edf3bufTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Tff7b72-Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3___syscall_getdents64Tb4b4b4(Te6edf3fdTb4b4b4, Te6edf3dirpTb4b4b4, Te6edf3countTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3stream Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStreamFromFDTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3getdentsTb4b4b4) Tb4b4b4{
Te6edf3streamTb4b4b4.Te6edf3getdents Tff7b72= Te6edf3FSTb4b4b4.Te6edf3readdirTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3pathTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3struct_size Tff7b72= T79c0ff280Tb4b4b4;
Tff7b72var Te6edf3pos Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72var Te6edf3off Tff7b72= Te6edf3FSTb4b4b4.Te6edf3llseekTb4b4b4(Te6edf3streamTb4b4b4, T79c0ff0Tb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3idx Tff7b72= Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3off Tff7b72/ Te6edf3struct_sizeTb4b4b4)Tb4b4b4;
Tff7b72while Tb4b4b4(Te6edf3idx Tff7b72< Te6edf3streamTb4b4b4.Te6edf3getdentsTb4b4b4.Te6edf3length Tff7b72&& Te6edf3pos Tff7b72+ Te6edf3struct_size Tff7b72<= Te6edf3countTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3idTb4b4b4;
Tff7b72var Te6edf3typeTb4b4b4;
Tff7b72var Te6edf3name Tff7b72= Te6edf3streamTb4b4b4.Te6edf3getdentsTb4b4b4[Te6edf3idxTb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3name Tff7b72=== Ta5d6ff"."Tb4b4b4) Tb4b4b4{
Te6edf3id Tff7b72= Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3idTb4b4b4;
Te6edf3type Tff7b72= T79c0ff4Tb4b4b4; T8b949e// DT_DIR
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3name Tff7b72=== Ta5d6ff".."Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3lookup Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupPathTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3pathTb4b4b4, Tb4b4b4{ Te6edf3parentTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3id Tff7b72= Te6edf3lookupTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3idTb4b4b4;
Te6edf3type Tff7b72= T79c0ff4Tb4b4b4; T8b949e// DT_DIR
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72var Te6edf3child Tff7b72= Te6edf3FSTb4b4b4.Te6edf3lookupNodeTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3nodeTb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4;
Te6edf3id Tff7b72= Te6edf3childTb4b4b4.Te6edf3idTb4b4b4;
Te6edf3type Tff7b72= Te6edf3FSTb4b4b4.Te6edf3isChrdevTb4b4b4(Te6edf3childTb4b4b4.Te6edf3modeTb4b4b4)
Tff7b72? T79c0ff2 T8b949e// DT_CHR, character device.
Tff7b72: Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3childTb4b4b4.Te6edf3modeTb4b4b4)
Tff7b72? T79c0ff4 T8b949e// DT_DIR, directory.
Tff7b72: Te6edf3FSTb4b4b4.Te6edf3isLinkTb4b4b4(Te6edf3childTb4b4b4.Te6edf3modeTb4b4b4)
Tff7b72? T79c0ff10 T8b949e// DT_LNK, symbolic link.
Tff7b72: T79c0ff8Tb4b4b4; T8b949e// DT_REG, regular file.
Tb4b4b4}
Te6edf3assertTb4b4b4(Te6edf3idTb4b4b4)Tb4b4b4;
Tb4b4b4(Tb4b4b4(Te6edf3tempI64 Tff7b72= Tb4b4b4[
Te6edf3id Tff7b72>>> T79c0ff0Tb4b4b4,
Tb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72= Te6edf3idTb4b4b4)Tb4b4b4,
Tff7b72+Tffa657MathTb4b4b4.Te6edf3absTb4b4b4(Te6edf3tempDoubleTb4b4b4) Tff7b72>= T79c0ff1.0
Tff7b72? Te6edf3tempDouble Tff7b72> T79c0ff0.0
Tff7b72? Tb4b4b4(Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Tff7b72+Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3tempDouble Tff7b72/ T79c0ff4294967296.0Tb4b4b4)Tb4b4b4, T79c0ff4294967295.0Tb4b4b4) Tff7b72| T79c0ff0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: Tff7b72~Tff7b72~Tff7b72+Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72- Tff7b72+Tb4b4b4(Tff7b72~Tff7b72~Te6edf3tempDouble Tff7b72>>> T79c0ff0Tb4b4b4)Tb4b4b4) Tff7b72/ T79c0ff4294967296.0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: T79c0ff0Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3dirp Tff7b72+ Te6edf3posTb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3dirp Tff7b72+ Te6edf3pos Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4(Tb4b4b4(Te6edf3tempI64 Tff7b72= Tb4b4b4[
Tb4b4b4(Tb4b4b4(Te6edf3idx Tff7b72+ T79c0ff1Tb4b4b4) Tff7b72* Te6edf3struct_sizeTb4b4b4) Tff7b72>>> T79c0ff0Tb4b4b4,
Tb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72= Tb4b4b4(Te6edf3idx Tff7b72+ T79c0ff1Tb4b4b4) Tff7b72* Te6edf3struct_sizeTb4b4b4)Tb4b4b4,
Tff7b72+Tffa657MathTb4b4b4.Te6edf3absTb4b4b4(Te6edf3tempDoubleTb4b4b4) Tff7b72>= T79c0ff1.0
Tff7b72? Te6edf3tempDouble Tff7b72> T79c0ff0.0
Tff7b72? Tb4b4b4(Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Tff7b72+Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3tempDouble Tff7b72/ T79c0ff4294967296.0Tb4b4b4)Tb4b4b4, T79c0ff4294967295.0Tb4b4b4) Tff7b72| T79c0ff0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: Tff7b72~Tff7b72~Tff7b72+Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72- Tff7b72+Tb4b4b4(Tff7b72~Tff7b72~Te6edf3tempDouble Tff7b72>>> T79c0ff0Tb4b4b4)Tb4b4b4) Tff7b72/ T79c0ff4294967296.0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: T79c0ff0Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3dirp Tff7b72+ Te6edf3pos Tff7b72+ T79c0ff8Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3dirp Tff7b72+ Te6edf3pos Tff7b72+ T79c0ff12Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3HEAP16Tb4b4b4[Tb4b4b4(Te6edf3dirp Tff7b72+ Te6edf3pos Tff7b72+ T79c0ff16Tb4b4b4) Tff7b72>> T79c0ff1Tb4b4b4] Tff7b72= T79c0ff280Tb4b4b4;
Te6edf3HEAP8Tb4b4b4[Tb4b4b4(Te6edf3dirp Tff7b72+ Te6edf3pos Tff7b72+ T79c0ff18Tb4b4b4) Tff7b72>> T79c0ff0Tb4b4b4] Tff7b72= Te6edf3typeTb4b4b4;
Te6edf3stringToUTF8Tb4b4b4(Te6edf3nameTb4b4b4, Te6edf3dirp Tff7b72+ Te6edf3pos Tff7b72+ T79c0ff19Tb4b4b4, T79c0ff256Tb4b4b4)Tb4b4b4;
Te6edf3pos Tff7b72+= Te6edf3struct_sizeTb4b4b4;
Te6edf3idx Tff7b72+= T79c0ff1Tb4b4b4;
Tb4b4b4}
Te6edf3FSTb4b4b4.Te6edf3llseekTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3idx Tff7b72* Te6edf3struct_sizeTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3posTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Tff7b72-Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3___syscall_ioctlTb4b4b4(Te6edf3fdTb4b4b4, Te6edf3opTb4b4b4, Te6edf3varargsTb4b4b4) Tb4b4b4{
Te6edf3SYSCALLSTb4b4b4.Te6edf3varargs Tff7b72= Te6edf3varargsTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3stream Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStreamFromFDTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
Tff7b72switch Tb4b4b4(Te6edf3opTb4b4b4) Tb4b4b4{
Tff7b72case T79c0ff21509Tff7b72:
Tff7b72case T79c0ff21505Tff7b72: Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4) Tff7b72return Tff7b72-T79c0ff59Tb4b4b4;
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72case T79c0ff21510Tff7b72:
Tff7b72case T79c0ff21511Tff7b72:
Tff7b72case T79c0ff21512Tff7b72:
Tff7b72case T79c0ff21506Tff7b72:
Tff7b72case T79c0ff21507Tff7b72:
Tff7b72case T79c0ff21508Tff7b72: Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4) Tff7b72return Tff7b72-T79c0ff59Tb4b4b4;
Tff7b72return T79c0ff0Tb4b4b4; T8b949e// no-op, not actually adjusting terminal settings
Tb4b4b4}
Tff7b72case T79c0ff21519Tff7b72: Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4) Tff7b72return Tff7b72-T79c0ff59Tb4b4b4;
Tff7b72var Te6edf3argp Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Te6edf3argp Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72case T79c0ff21520Tff7b72: Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4) Tff7b72return Tff7b72-T79c0ff59Tb4b4b4;
Tff7b72return Tff7b72-T79c0ff28Tb4b4b4; T8b949e// not supported
Tb4b4b4}
Tff7b72case T79c0ff21531Tff7b72: Tb4b4b4{
Tff7b72var Te6edf3argp Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3FSTb4b4b4.Te6edf3ioctlTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3opTb4b4b4, Te6edf3argpTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72case T79c0ff21523Tff7b72: Tb4b4b4{
T8b949e// TODO: in theory we should write to the winsize struct that gets
T8b949e// passed in, but for now musl doesn't read anything on it
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4) Tff7b72return Tff7b72-T79c0ff59Tb4b4b4;
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72case T79c0ff21524Tff7b72: Tb4b4b4{
T8b949e// TODO: technically, this ioctl call should change the window size.
T8b949e// but, since emscripten doesn't have any concept of a terminal window
T8b949e// yet, we'll just silently throw it away as we do TIOCGWINSZ
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3streamTb4b4b4.Te6edf3ttyTb4b4b4) Tff7b72return Tff7b72-T79c0ff59Tb4b4b4;
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72defaultTff7b72:
Tff7b72return Tff7b72-T79c0ff28Tb4b4b4; T8b949e// not supported
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Tff7b72-Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3___syscall_lstat64Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3bufTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Te6edf3path Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStrTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3SYSCALLSTb4b4b4.Te6edf3doStatTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3lstatTb4b4b4, Te6edf3pathTb4b4b4, Te6edf3bufTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Tff7b72-Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3___syscall_newfstatatTb4b4b4(Te6edf3dirfdTb4b4b4, Te6edf3pathTb4b4b4, Te6edf3bufTb4b4b4, Te6edf3flagsTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Te6edf3path Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStrTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3nofollow Tff7b72= Te6edf3flags Tff7b72& T79c0ff256Tb4b4b4;
Tff7b72var Te6edf3allowEmpty Tff7b72= Te6edf3flags Tff7b72& T79c0ff4096Tb4b4b4;
Te6edf3flags Tff7b72= Te6edf3flags Tff7b72& Tff7b72~T79c0ff4352Tb4b4b4;
Te6edf3assertTb4b4b4(Tff7b72!Te6edf3flagsTb4b4b4, Te6edf3flagsTb4b4b4)Tb4b4b4;
Te6edf3path Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3calculateAtTb4b4b4(Te6edf3dirfdTb4b4b4, Te6edf3pathTb4b4b4, Te6edf3allowEmptyTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3SYSCALLSTb4b4b4.Te6edf3doStatTb4b4b4(Te6edf3nofollow Tff7b72? Te6edf3FSTb4b4b4.Te6edf3lstat Tff7b72: Te6edf3FSTb4b4b4.Te6edf3statTb4b4b4, Te6edf3pathTb4b4b4, Te6edf3bufTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Tff7b72-Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3___syscall_openatTb4b4b4(Te6edf3dirfdTb4b4b4, Te6edf3pathTb4b4b4, Te6edf3flagsTb4b4b4, Te6edf3varargsTb4b4b4) Tb4b4b4{
Te6edf3SYSCALLSTb4b4b4.Te6edf3varargs Tff7b72= Te6edf3varargsTb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3path Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStrTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Te6edf3path Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3calculateAtTb4b4b4(Te6edf3dirfdTb4b4b4, Te6edf3pathTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3mode Tff7b72= Te6edf3varargs Tff7b72? Te6edf3SYSCALLSTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4) Tff7b72: T79c0ff0Tb4b4b4;
Tff7b72return Te6edf3FSTb4b4b4.Te6edf3openTb4b4b4(Te6edf3pathTb4b4b4, Te6edf3flagsTb4b4b4, Te6edf3modeTb4b4b4)Tb4b4b4.Te6edf3fdTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Tff7b72-Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3___syscall_stat64Tb4b4b4(Te6edf3pathTb4b4b4, Te6edf3bufTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Te6edf3path Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStrTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3SYSCALLSTb4b4b4.Te6edf3doStatTb4b4b4(Te6edf3FSTb4b4b4.Te6edf3statTb4b4b4, Te6edf3pathTb4b4b4, Te6edf3bufTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Tff7b72-Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3___syscall_unlinkatTb4b4b4(Te6edf3dirfdTb4b4b4, Te6edf3pathTb4b4b4, Te6edf3flagsTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Te6edf3path Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStrTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Te6edf3path Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3calculateAtTb4b4b4(Te6edf3dirfdTb4b4b4, Te6edf3pathTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3flags Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3unlinkTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3flags Tff7b72=== T79c0ff512Tb4b4b4) Tb4b4b4{
Te6edf3FSTb4b4b4.Te6edf3rmdirTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3abortTb4b4b4(Ta5d6ff"Invalid flags passed to unlinkat"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Tff7b72-Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72var Te6edf3nowIsMonotonic Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72function Te6edf3__emscripten_get_now_is_monotonicTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3nowIsMonotonicTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3readI53FromI64Tb4b4b4(Te6edf3ptrTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3HEAPU32Tb4b4b4[Te6edf3ptr Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72+ Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3ptr Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72* T79c0ff4294967296Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3__gmtime_jsTb4b4b4(Te6edf3timeTb4b4b4, Te6edf3tmPtrTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3date Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3readI53FromI64Tb4b4b4(Te6edf3timeTb4b4b4) Tff7b72* T79c0ff1000Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Te6edf3tmPtr Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dateTb4b4b4.Te6edf3getUTCSecondsTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dateTb4b4b4.Te6edf3getUTCMinutesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff8Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dateTb4b4b4.Te6edf3getUTCHoursTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff12Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dateTb4b4b4.Te6edf3getUTCDateTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff16Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dateTb4b4b4.Te6edf3getUTCMonthTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff20Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dateTb4b4b4.Te6edf3getUTCFullYearTb4b4b4(Tb4b4b4) Tff7b72- T79c0ff1900Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff24Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dateTb4b4b4.Te6edf3getUTCDayTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3start Tff7b72= Tffa657DateTb4b4b4.Te6edf3UTCTb4b4b4(Te6edf3dateTb4b4b4.Te6edf3getUTCFullYearTb4b4b4(Tb4b4b4)Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff1Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3yday Tff7b72= Tb4b4b4(Tb4b4b4(Te6edf3dateTb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4) Tff7b72- Te6edf3startTb4b4b4) Tff7b72/ Tb4b4b4(T79c0ff1000 Tff7b72* T79c0ff60 Tff7b72* T79c0ff60 Tff7b72* T79c0ff24Tb4b4b4)Tb4b4b4) Tff7b72| T79c0ff0Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff28Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3ydayTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3__isLeapYearTb4b4b4(Te6edf3yearTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3year Tff7b72% T79c0ff4 Tff7b72=== T79c0ff0 Tff7b72&& Tb4b4b4(Te6edf3year Tff7b72% T79c0ff100 Tff7b72!== T79c0ff0 Tff7b72|| Te6edf3year Tff7b72% T79c0ff400 Tff7b72=== T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3__MONTH_DAYS_LEAP_CUMULATIVE Tff7b72= Tb4b4b4[T79c0ff0Tb4b4b4, T79c0ff31Tb4b4b4, T79c0ff60Tb4b4b4, T79c0ff91Tb4b4b4, T79c0ff121Tb4b4b4, T79c0ff152Tb4b4b4, T79c0ff182Tb4b4b4, T79c0ff213Tb4b4b4, T79c0ff244Tb4b4b4, T79c0ff274Tb4b4b4, T79c0ff305Tb4b4b4, T79c0ff335Tb4b4b4]Tb4b4b4;
Tff7b72var Te6edf3__MONTH_DAYS_REGULAR_CUMULATIVE Tff7b72= Tb4b4b4[T79c0ff0Tb4b4b4, T79c0ff31Tb4b4b4, T79c0ff59Tb4b4b4, T79c0ff90Tb4b4b4, T79c0ff120Tb4b4b4, T79c0ff151Tb4b4b4, T79c0ff181Tb4b4b4, T79c0ff212Tb4b4b4, T79c0ff243Tb4b4b4, T79c0ff273Tb4b4b4, T79c0ff304Tb4b4b4, T79c0ff334Tb4b4b4]Tb4b4b4;
Tff7b72function Te6edf3__yday_from_dateTb4b4b4(Te6edf3dateTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3isLeapYear Tff7b72= Te6edf3__isLeapYearTb4b4b4(Te6edf3dateTb4b4b4.Te6edf3getFullYearTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3monthDaysCumulative Tff7b72= Te6edf3isLeapYear Tff7b72? Te6edf3__MONTH_DAYS_LEAP_CUMULATIVE Tff7b72: Te6edf3__MONTH_DAYS_REGULAR_CUMULATIVETb4b4b4;
Tff7b72var Te6edf3yday Tff7b72= Te6edf3monthDaysCumulativeTb4b4b4[Te6edf3dateTb4b4b4.Te6edf3getMonthTb4b4b4(Tb4b4b4)Tb4b4b4] Tff7b72+ Te6edf3dateTb4b4b4.Te6edf3getDateTb4b4b4(Tb4b4b4) Tff7b72- T79c0ff1Tb4b4b4; T8b949e// -1 since it's days since Jan 1
Tff7b72return Te6edf3ydayTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3__localtime_jsTb4b4b4(Te6edf3timeTb4b4b4, Te6edf3tmPtrTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3date Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3readI53FromI64Tb4b4b4(Te6edf3timeTb4b4b4) Tff7b72* T79c0ff1000Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Te6edf3tmPtr Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dateTb4b4b4.Te6edf3getSecondsTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dateTb4b4b4.Te6edf3getMinutesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff8Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dateTb4b4b4.Te6edf3getHoursTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff12Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dateTb4b4b4.Te6edf3getDateTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff16Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dateTb4b4b4.Te6edf3getMonthTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff20Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dateTb4b4b4.Te6edf3getFullYearTb4b4b4(Tb4b4b4) Tff7b72- T79c0ff1900Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff24Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dateTb4b4b4.Te6edf3getDayTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3yday Tff7b72= Te6edf3__yday_from_dateTb4b4b4(Te6edf3dateTb4b4b4) Tff7b72| T79c0ff0Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff28Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3ydayTb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff36Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Tff7b72-Tb4b4b4(Te6edf3dateTb4b4b4.Te6edf3getTimezoneOffsetTb4b4b4(Tb4b4b4) Tff7b72* T79c0ff60Tb4b4b4)Tb4b4b4;
T8b949e// Attention: DST is in December in South, and some regions don't have DST at all.
Tff7b72var Te6edf3start Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3dateTb4b4b4.Te6edf3getFullYearTb4b4b4(Tb4b4b4)Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3summerOffset Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3dateTb4b4b4.Te6edf3getFullYearTb4b4b4(Tb4b4b4)Tb4b4b4, T79c0ff6Tb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4.Te6edf3getTimezoneOffsetTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3winterOffset Tff7b72= Te6edf3startTb4b4b4.Te6edf3getTimezoneOffsetTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3dst Tff7b72=
Tb4b4b4(Te6edf3summerOffset Tff7b72!= Te6edf3winterOffset Tff7b72&& Te6edf3dateTb4b4b4.Te6edf3getTimezoneOffsetTb4b4b4(Tb4b4b4) Tff7b72== Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Te6edf3winterOffsetTb4b4b4, Te6edf3summerOffsetTb4b4b4)Tb4b4b4) Tff7b72| T79c0ff0Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3tmPtr Tff7b72+ T79c0ff32Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3dstTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3allocateUTF8Tb4b4b4(Te6edf3strTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3size Tff7b72= Te6edf3lengthBytesUTF8Tb4b4b4(Te6edf3strTb4b4b4) Tff7b72+ T79c0ff1Tb4b4b4;
Tff7b72var Te6edf3ret Tff7b72= Te6edf3_mallocTb4b4b4(Te6edf3sizeTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3retTb4b4b4) Te6edf3stringToUTF8ArrayTb4b4b4(Te6edf3strTb4b4b4, Te6edf3HEAP8Tb4b4b4, Te6edf3retTb4b4b4, Te6edf3sizeTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3retTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3__tzset_jsTb4b4b4(Te6edf3timezoneTb4b4b4, Te6edf3daylightTb4b4b4, Te6edf3tznameTb4b4b4) Tb4b4b4{
T8b949e// TODO: Use (malleable) environment variables instead of system settings.
Tff7b72var Te6edf3currentYear Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3getFullYearTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3winter Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3currentYearTb4b4b4, T79c0ff0Tb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3summer Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3currentYearTb4b4b4, T79c0ff6Tb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3winterOffset Tff7b72= Te6edf3winterTb4b4b4.Te6edf3getTimezoneOffsetTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3summerOffset Tff7b72= Te6edf3summerTb4b4b4.Te6edf3getTimezoneOffsetTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// Local standard timezone offset. Local standard time is not adjusted for daylight savings.
T8b949e// This code uses the fact that getTimezoneOffset returns a greater value during Standard Time versus Daylight Saving Time (DST).
T8b949e// Thus it determines the expected output during Standard Time, and it compares whether the output of the given date the same (Standard) or less (DST).
Tff7b72var Te6edf3stdTimezoneOffset Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(Te6edf3winterOffsetTb4b4b4, Te6edf3summerOffsetTb4b4b4)Tb4b4b4;
T8b949e// timezone is specified as seconds west of UTC ("The external variable
T8b949e// `timezone` shall be set to the difference, in seconds, between
T8b949e// Coordinated Universal Time (UTC) and local standard time."), the same
T8b949e// as returned by stdTimezoneOffset.
T8b949e// See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html
Te6edf3HEAPU32Tb4b4b4[Te6edf3timezone Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3stdTimezoneOffset Tff7b72* T79c0ff60Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Te6edf3daylight Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Tffa657NumberTb4b4b4(Te6edf3winterOffset Tff7b72!= Te6edf3summerOffsetTb4b4b4)Tb4b4b4;
Tff7b72function Te6edf3extractZoneTb4b4b4(Te6edf3dateTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3match Tff7b72= Te6edf3dateTb4b4b4.Te6edf3toTimeStringTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3matchTb4b4b4(Ta5d6ff/\(([A-Za-z ]+)\)$/Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3match Tff7b72? Te6edf3matchTb4b4b4[T79c0ff1Tb4b4b4] Tff7b72: Ta5d6ff"GMT"Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3winterName Tff7b72= Te6edf3extractZoneTb4b4b4(Te6edf3winterTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3summerName Tff7b72= Te6edf3extractZoneTb4b4b4(Te6edf3summerTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3winterNamePtr Tff7b72= Te6edf3allocateUTF8Tb4b4b4(Te6edf3winterNameTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3summerNamePtr Tff7b72= Te6edf3allocateUTF8Tb4b4b4(Te6edf3summerNameTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3summerOffset Tff7b72< Te6edf3winterOffsetTb4b4b4) Tb4b4b4{
T8b949e// Northern hemisphere
Te6edf3HEAPU32Tb4b4b4[Te6edf3tzname Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3winterNamePtrTb4b4b4;
Te6edf3HEAPU32Tb4b4b4[Tb4b4b4(Te6edf3tzname Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3summerNamePtrTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3HEAPU32Tb4b4b4[Te6edf3tzname Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3summerNamePtrTb4b4b4;
Te6edf3HEAPU32Tb4b4b4[Tb4b4b4(Te6edf3tzname Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3winterNamePtrTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3_emscripten_date_nowTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3_emscripten_get_nowTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ENVIRONMENT_IS_NODETb4b4b4) Tb4b4b4{
Te6edf3_emscripten_get_now Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72var Te6edf3t Tff7b72= Te6edf3processTb4b4b4[Ta5d6ff"hrtime"Tb4b4b4]Tb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3tTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72* T79c0ff1e3 Tff7b72+ Te6edf3tTb4b4b4[T79c0ff1Tb4b4b4] Tff7b72/ T79c0ff1e6Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4} Tff7b72else Te6edf3_emscripten_get_now Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3performanceTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72function Te6edf3_emscripten_memcpy_bigTb4b4b4(Te6edf3destTb4b4b4, Te6edf3srcTb4b4b4, Te6edf3numTb4b4b4) Tb4b4b4{
Te6edf3HEAPU8Tb4b4b4.Te6edf3copyWithinTb4b4b4(Te6edf3destTb4b4b4, Te6edf3srcTb4b4b4, Te6edf3src Tff7b72+ Te6edf3numTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3getHeapMaxTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate
T8b949e// full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side
T8b949e// for any code that deals with heap sizes, which would require special
T8b949e// casing all heap size related code to treat 0 specially.
Tff7b72return T79c0ff2147483648Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3emscripten_realloc_bufferTb4b4b4(Te6edf3sizeTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
T8b949e// round size grow request up to wasm page size (fixed 64KB per spec)
Te6edf3wasmMemoryTb4b4b4.Te6edf3growTb4b4b4(Tb4b4b4(Te6edf3size Tff7b72- Te6edf3bufferTb4b4b4.Te6edf3byteLength Tff7b72+ T79c0ff65535Tb4b4b4) Tff7b72>>> T79c0ff16Tb4b4b4)Tb4b4b4; T8b949e// .grow() takes a delta compared to the previous size
Te6edf3updateGlobalBufferAndViewsTb4b4b4(Te6edf3wasmMemoryTb4b4b4.Te6edf3bufferTb4b4b4)Tb4b4b4;
Tff7b72return T79c0ff1 T8b949e/*success*/Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3errTb4b4b4(
Ta5d6ff"emscripten_realloc_buffer: Attempted to grow heap from " Tff7b72+
Te6edf3bufferTb4b4b4.Te6edf3byteLength Tff7b72+
Ta5d6ff" bytes to " Tff7b72+
Te6edf3size Tff7b72+
Ta5d6ff" bytes, but got error: " Tff7b72+
Te6edf3e
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// implicit 0 return to save code size (caller will cast "undefined" into 0
T8b949e// anyhow)
Tb4b4b4}
Tff7b72function Te6edf3_emscripten_resize_heapTb4b4b4(Te6edf3requestedSizeTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3oldSize Tff7b72= Te6edf3HEAPU8Tb4b4b4.Te6edf3lengthTb4b4b4;
Te6edf3requestedSize Tff7b72= Te6edf3requestedSize Tff7b72>>> T79c0ff0Tb4b4b4;
T8b949e// With multithreaded builds, races can happen (another thread might increase the size
T8b949e// in between), so return a failure, and let the caller retry.
Te6edf3assertTb4b4b4(Te6edf3requestedSize Tff7b72> Te6edf3oldSizeTb4b4b4)Tb4b4b4;
T8b949e// Memory resize rules:
T8b949e// 1. Always increase heap size to at least the requested size, rounded up
T8b949e// to next page multiple.
T8b949e// 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap
T8b949e// geometrically: increase the heap size according to
T8b949e// MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most
T8b949e// overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB).
T8b949e// 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap
T8b949e// linearly: increase the heap size by at least
T8b949e// MEMORY_GROWTH_LINEAR_STEP bytes.
T8b949e// 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by
T8b949e// MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest
T8b949e// 4. If we were unable to allocate as much memory, it may be due to
T8b949e// over-eager decision to excessively reserve due to (3) above.
T8b949e// Hence if an allocation fails, cut down on the amount of excess
T8b949e// growth, in an attempt to succeed to perform a smaller allocation.
T8b949e// A limit is set for how much we can grow. We should not exceed that
T8b949e// (the wasm binary specifies it, so if we tried, we'd fail anyhow).
Tff7b72var Te6edf3maxHeapSize Tff7b72= Te6edf3getHeapMaxTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3requestedSize Tff7b72> Te6edf3maxHeapSizeTb4b4b4) Tb4b4b4{
Te6edf3errTb4b4b4(
Ta5d6ff"Cannot enlarge memory, asked to go up to " Tff7b72+
Te6edf3requestedSize Tff7b72+
Ta5d6ff" bytes, but the limit is " Tff7b72+
Te6edf3maxHeapSize Tff7b72+
Ta5d6ff" bytes!"
Tb4b4b4)Tb4b4b4;
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72let Te6edf3alignUp Tff7b72= Tb4b4b4(Te6edf3xTb4b4b4, Te6edf3multipleTb4b4b4) Tb4b4b4=> Te6edf3x Tff7b72+ Tb4b4b4(Tb4b4b4(Te6edf3multiple Tff7b72- Tb4b4b4(Te6edf3x Tff7b72% Te6edf3multipleTb4b4b4)Tb4b4b4) Tff7b72% Te6edf3multipleTb4b4b4)Tb4b4b4;
T8b949e// Loop through potential heap size increases. If we attempt a too eager
T8b949e// reservation that fails, cut down on the attempted size and reserve a
T8b949e// smaller bump instead. (max 3 times, chosen somewhat arbitrarily)
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3cutDown Tff7b72= T79c0ff1Tb4b4b4; Te6edf3cutDown Tff7b72<= T79c0ff4Tb4b4b4; Te6edf3cutDown Tff7b72*= T79c0ff2Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3overGrownHeapSize Tff7b72= Te6edf3oldSize Tff7b72* Tb4b4b4(T79c0ff1 Tff7b72+ T79c0ff0.2 Tff7b72/ Te6edf3cutDownTb4b4b4)Tb4b4b4; T8b949e// ensure geometric growth
T8b949e// but limit overreserving (default to capping at +96MB overgrowth at most)
Te6edf3overGrownHeapSize Tff7b72= Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Te6edf3overGrownHeapSizeTb4b4b4, Te6edf3requestedSize Tff7b72+ T79c0ff100663296Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3newSize Tff7b72= Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Te6edf3maxHeapSizeTb4b4b4, Te6edf3alignUpTb4b4b4(Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(Te6edf3requestedSizeTb4b4b4, Te6edf3overGrownHeapSizeTb4b4b4)Tb4b4b4, T79c0ff65536Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3replacement Tff7b72= Te6edf3emscripten_realloc_bufferTb4b4b4(Te6edf3newSizeTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3replacementTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Te6edf3errTb4b4b4(Ta5d6ff"Failed to grow the heap from " Tff7b72+ Te6edf3oldSize Tff7b72+ Ta5d6ff" bytes to " Tff7b72+ Te6edf3newSize Tff7b72+ Ta5d6ff" bytes, not enough memory!"Tb4b4b4)Tb4b4b4;
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3ENV Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72function Te6edf3getExecutableNameTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3thisProgram Tff7b72|| Ta5d6ff"./this.program"Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3getEnvStringsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3getEnvStringsTb4b4b4.Te6edf3stringsTb4b4b4) Tb4b4b4{
T8b949e// Default values.
T8b949e// Browser language detection #8751
Tff7b72var Te6edf3lang Tff7b72=
Tb4b4b4(Tb4b4b4(Tff7b72typeof Te6edf3navigator Tff7b72== Ta5d6ff"object" Tff7b72&& Te6edf3navigatorTb4b4b4.Te6edf3languages Tff7b72&& Te6edf3navigatorTb4b4b4.Te6edf3languagesTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4) Tff7b72|| Ta5d6ff"C"Tb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(
Ta5d6ff"-"Tb4b4b4,
Ta5d6ff"_"
Tb4b4b4) Tff7b72+ Ta5d6ff".UTF-8"Tb4b4b4;
Tff7b72var Te6edf3env Tff7b72= Tb4b4b4{
Te6edf3USERTff7b72: Ta5d6ff"web_user"Tb4b4b4,
Te6edf3LOGNAMETff7b72: Ta5d6ff"web_user"Tb4b4b4,
Te6edf3PATHTff7b72: Ta5d6ff"/"Tb4b4b4,
Te6edf3PWDTff7b72: Ta5d6ff"/"Tb4b4b4,
Te6edf3HOMETff7b72: Ta5d6ff"/home/web_user"Tb4b4b4,
Te6edf3LANGTff7b72: Te6edf3langTb4b4b4,
Te6edf3_Tff7b72: Te6edf3getExecutableNameTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4;
T8b949e// Apply the user-provided values, if any.
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3x Tff7b72in Te6edf3ENVTb4b4b4) Tb4b4b4{
T8b949e// x is a key in ENV; if ENV[x] is undefined, that means it was
T8b949e// explicitly set to be so. We allow user code to do that to
T8b949e// force variables with default values to remain unset.
Tff7b72if Tb4b4b4(Te6edf3ENVTb4b4b4[Te6edf3xTb4b4b4] Tff7b72=== Tff7b72undefinedTb4b4b4) Tff7b72delete Te6edf3envTb4b4b4[Te6edf3xTb4b4b4]Tb4b4b4;
Tff7b72else Te6edf3envTb4b4b4[Te6edf3xTb4b4b4] Tff7b72= Te6edf3ENVTb4b4b4[Te6edf3xTb4b4b4]Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3strings Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3x Tff7b72in Te6edf3envTb4b4b4) Tb4b4b4{
Te6edf3stringsTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3x Tff7b72+ Ta5d6ff"=" Tff7b72+ Te6edf3envTb4b4b4[Te6edf3xTb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3getEnvStringsTb4b4b4.Te6edf3strings Tff7b72= Te6edf3stringsTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3getEnvStringsTb4b4b4.Te6edf3stringsTb4b4b4;
Tb4b4b4}
T8b949e/** @param {boolean=} dontAddNull */
Tff7b72function Te6edf3writeAsciiToMemoryTb4b4b4(Te6edf3strTb4b4b4, Te6edf3bufferTb4b4b4, Te6edf3dontAddNullTb4b4b4) Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3strTb4b4b4.Te6edf3lengthTb4b4b4; Tff7b72++Te6edf3iTb4b4b4) Tb4b4b4{
Te6edf3assertTb4b4b4(Te6edf3strTb4b4b4.Te6edf3charCodeAtTb4b4b4(Te6edf3iTb4b4b4) Tff7b72=== Tb4b4b4(Te6edf3strTb4b4b4.Te6edf3charCodeAtTb4b4b4(Te6edf3iTb4b4b4) Tff7b72& T79c0ff0xffTb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3HEAP8Tb4b4b4[Te6edf3bufferTff7b72++ Tff7b72>> T79c0ff0Tb4b4b4] Tff7b72= Te6edf3strTb4b4b4.Te6edf3charCodeAtTb4b4b4(Te6edf3iTb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// Null-terminate the pointer to the HEAP.
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3dontAddNullTb4b4b4) Te6edf3HEAP8Tb4b4b4[Te6edf3buffer Tff7b72>> T79c0ff0Tb4b4b4] Tff7b72= T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3_environ_getTb4b4b4(Te6edf3__environTb4b4b4, Te6edf3environ_bufTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3bufSize Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3getEnvStringsTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3forEachTb4b4b4(Tff7b72function Tb4b4b4(Te6edf3stringTb4b4b4, Te6edf3iTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3ptr Tff7b72= Te6edf3environ_buf Tff7b72+ Te6edf3bufSizeTb4b4b4;
Te6edf3HEAPU32Tb4b4b4[Tb4b4b4(Te6edf3__environ Tff7b72+ Te6edf3i Tff7b72* T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3ptrTb4b4b4;
Te6edf3writeAsciiToMemoryTb4b4b4(Te6edf3stringTb4b4b4, Te6edf3ptrTb4b4b4)Tb4b4b4;
Te6edf3bufSize Tff7b72+= Te6edf3stringTb4b4b4.Te6edf3length Tff7b72+ T79c0ff1Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3_environ_sizes_getTb4b4b4(Te6edf3penviron_countTb4b4b4, Te6edf3penviron_buf_sizeTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3strings Tff7b72= Te6edf3getEnvStringsTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3HEAPU32Tb4b4b4[Te6edf3penviron_count Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3stringsTb4b4b4.Te6edf3lengthTb4b4b4;
Tff7b72var Te6edf3bufSize Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3stringsTb4b4b4.Te6edf3forEachTb4b4b4(Tff7b72function Tb4b4b4(Te6edf3stringTb4b4b4) Tb4b4b4{
Te6edf3bufSize Tff7b72+= Te6edf3stringTb4b4b4.Te6edf3length Tff7b72+ T79c0ff1Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3HEAPU32Tb4b4b4[Te6edf3penviron_buf_size Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3bufSizeTb4b4b4;
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3_proc_exitTb4b4b4(Te6edf3codeTb4b4b4) Tb4b4b4{
Te6edf3EXITSTATUS Tff7b72= Te6edf3codeTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3keepRuntimeAliveTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"onExit"Tb4b4b4]Tb4b4b4) Te6edf3ModuleTb4b4b4[Ta5d6ff"onExit"Tb4b4b4]Tb4b4b4(Te6edf3codeTb4b4b4)Tb4b4b4;
Te6edf3ABORT Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4}
Te6edf3quit_Tb4b4b4(Te6edf3codeTb4b4b4, Tff7b72new Te6edf3ExitStatusTb4b4b4(Te6edf3codeTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e/** @param {boolean|number=} implicit */
Tff7b72function Te6edf3exitJSTb4b4b4(Te6edf3statusTb4b4b4, Te6edf3implicitTb4b4b4) Tb4b4b4{
Te6edf3EXITSTATUS Tff7b72= Te6edf3statusTb4b4b4;
Te6edf3checkUnflushedContentTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// if exit() was called explicitly, warn the user if the runtime isn't actually being shut down
Tff7b72if Tb4b4b4(Te6edf3keepRuntimeAliveTb4b4b4(Tb4b4b4) Tff7b72&& Tff7b72!Te6edf3implicitTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3msg Tff7b72=
Ta5d6ff"program exited (with status: " Tff7b72+
Te6edf3status Tff7b72+
Ta5d6ff"), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)"Tb4b4b4;
Te6edf3readyPromiseRejectTb4b4b4(Te6edf3msgTb4b4b4)Tb4b4b4;
Te6edf3errTb4b4b4(Te6edf3msgTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3_proc_exitTb4b4b4(Te6edf3statusTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3_exit Tff7b72= Te6edf3exitJSTb4b4b4;
Tff7b72function Te6edf3_fd_closeTb4b4b4(Te6edf3fdTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3stream Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStreamFromFDTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3closeTb4b4b4(Te6edf3streamTb4b4b4)Tb4b4b4;
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3_fd_fdstat_getTb4b4b4(Te6edf3fdTb4b4b4, Te6edf3pbufTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3stream Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStreamFromFDTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
T8b949e// All character devices are terminals (other things a Linux system would
T8b949e// assume is a character device, like the mouse, we have special APIs for).
Tff7b72var Te6edf3type Tff7b72= Te6edf3streamTb4b4b4.Te6edf3tty Tff7b72? T79c0ff2 Tff7b72: Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3modeTb4b4b4) Tff7b72? T79c0ff3 Tff7b72: Te6edf3FSTb4b4b4.Te6edf3isLinkTb4b4b4(Te6edf3streamTb4b4b4.Te6edf3modeTb4b4b4) Tff7b72? T79c0ff7 Tff7b72: T79c0ff4Tb4b4b4;
Te6edf3HEAP8Tb4b4b4[Te6edf3pbuf Tff7b72>> T79c0ff0Tb4b4b4] Tff7b72= Te6edf3typeTb4b4b4;
T8b949e// TODO HEAP16[(((pbuf)+(2))>>1)] = ?;
T8b949e// TODO (tempI64 = [?>>>0,(tempDouble=?,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((pbuf)+(8))>>2)] = tempI64[0],HEAP32[(((pbuf)+(12))>>2)] = tempI64[1]);
T8b949e// TODO (tempI64 = [?>>>0,(tempDouble=?,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((pbuf)+(16))>>2)] = tempI64[0],HEAP32[(((pbuf)+(20))>>2)] = tempI64[1]);
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e/** @param {number=} offset */
Tff7b72function Te6edf3doReadvTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3iovTb4b4b4, Te6edf3iovcntTb4b4b4, Te6edf3offsetTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3ret Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3iovcntTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3ptr Tff7b72= Te6edf3HEAPU32Tb4b4b4[Te6edf3iov Tff7b72>> T79c0ff2Tb4b4b4]Tb4b4b4;
Tff7b72var Te6edf3len Tff7b72= Te6edf3HEAPU32Tb4b4b4[Tb4b4b4(Te6edf3iov Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4]Tb4b4b4;
Te6edf3iov Tff7b72+= T79c0ff8Tb4b4b4;
Tff7b72var Te6edf3curr Tff7b72= Te6edf3FSTb4b4b4.Te6edf3readTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3HEAP8Tb4b4b4, Te6edf3ptrTb4b4b4, Te6edf3lenTb4b4b4, Te6edf3offsetTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3curr Tff7b72< T79c0ff0Tb4b4b4) Tff7b72return Tff7b72-T79c0ff1Tb4b4b4;
Te6edf3ret Tff7b72+= Te6edf3currTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3curr Tff7b72< Te6edf3lenTb4b4b4) Tff7b72breakTb4b4b4; T8b949e// nothing more to read
Tb4b4b4}
Tff7b72return Te6edf3retTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3_fd_readTb4b4b4(Te6edf3fdTb4b4b4, Te6edf3iovTb4b4b4, Te6edf3iovcntTb4b4b4, Te6edf3pnumTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3stream Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStreamFromFDTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3num Tff7b72= Te6edf3doReadvTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3iovTb4b4b4, Te6edf3iovcntTb4b4b4)Tb4b4b4;
Te6edf3HEAPU32Tb4b4b4[Te6edf3pnum Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3numTb4b4b4;
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3convertI32PairToI53CheckedTb4b4b4(Te6edf3loTb4b4b4, Te6edf3hiTb4b4b4) Tb4b4b4{
Te6edf3assertTb4b4b4(Te6edf3lo Tff7b72== Te6edf3lo Tff7b72>>> T79c0ff0 Tff7b72|| Te6edf3lo Tff7b72== Tb4b4b4(Te6edf3lo Tff7b72| T79c0ff0Tb4b4b4)Tb4b4b4)Tb4b4b4; T8b949e// lo should either be a i32 or a u32
Te6edf3assertTb4b4b4(Te6edf3hi Tff7b72=== Tb4b4b4(Te6edf3hi Tff7b72| T79c0ff0Tb4b4b4)Tb4b4b4)Tb4b4b4; T8b949e// hi should be a i32
Tff7b72return Tb4b4b4(Te6edf3hi Tff7b72+ T79c0ff0x200000Tb4b4b4) Tff7b72>>> T79c0ff0 Tff7b72< T79c0ff0x400001 Tff7b72- Tff7b72!Tff7b72!Te6edf3lo Tff7b72? Tb4b4b4(Te6edf3lo Tff7b72>>> T79c0ff0Tb4b4b4) Tff7b72+ Te6edf3hi Tff7b72* T79c0ff4294967296 Tff7b72: Tff7b72NaNTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3_fd_seekTb4b4b4(Te6edf3fdTb4b4b4, Te6edf3offset_lowTb4b4b4, Te6edf3offset_highTb4b4b4, Te6edf3whenceTb4b4b4, Te6edf3newOffsetTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3offset Tff7b72= Te6edf3convertI32PairToI53CheckedTb4b4b4(Te6edf3offset_lowTb4b4b4, Te6edf3offset_highTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tffa657isNaNTb4b4b4(Te6edf3offsetTb4b4b4)Tb4b4b4) Tff7b72return T79c0ff61Tb4b4b4;
Tff7b72var Te6edf3stream Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStreamFromFDTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3llseekTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3offsetTb4b4b4, Te6edf3whenceTb4b4b4)Tb4b4b4;
Tb4b4b4(Tb4b4b4(Te6edf3tempI64 Tff7b72= Tb4b4b4[
Te6edf3streamTb4b4b4.Te6edf3position Tff7b72>>> T79c0ff0Tb4b4b4,
Tb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72= Te6edf3streamTb4b4b4.Te6edf3positionTb4b4b4)Tb4b4b4,
Tff7b72+Tffa657MathTb4b4b4.Te6edf3absTb4b4b4(Te6edf3tempDoubleTb4b4b4) Tff7b72>= T79c0ff1.0
Tff7b72? Te6edf3tempDouble Tff7b72> T79c0ff0.0
Tff7b72? Tb4b4b4(Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Tff7b72+Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3tempDouble Tff7b72/ T79c0ff4294967296.0Tb4b4b4)Tb4b4b4, T79c0ff4294967295.0Tb4b4b4) Tff7b72| T79c0ff0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: Tff7b72~Tff7b72~Tff7b72+Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Tb4b4b4(Te6edf3tempDouble Tff7b72- Tff7b72+Tb4b4b4(Tff7b72~Tff7b72~Te6edf3tempDouble Tff7b72>>> T79c0ff0Tb4b4b4)Tb4b4b4) Tff7b72/ T79c0ff4294967296.0Tb4b4b4) Tff7b72>>> T79c0ff0
Tff7b72: T79c0ff0Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Te6edf3newOffset Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3HEAP32Tb4b4b4[Tb4b4b4(Te6edf3newOffset Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3tempI64Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3streamTb4b4b4.Te6edf3getdents Tff7b72&& Te6edf3offset Tff7b72=== T79c0ff0 Tff7b72&& Te6edf3whence Tff7b72=== T79c0ff0Tb4b4b4) Te6edf3streamTb4b4b4.Te6edf3getdents Tff7b72= Tff7b72nullTb4b4b4; T8b949e// reset readdir state
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e/** @param {number=} offset */
Tff7b72function Te6edf3doWritevTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3iovTb4b4b4, Te6edf3iovcntTb4b4b4, Te6edf3offsetTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3ret Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3iovcntTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3ptr Tff7b72= Te6edf3HEAPU32Tb4b4b4[Te6edf3iov Tff7b72>> T79c0ff2Tb4b4b4]Tb4b4b4;
Tff7b72var Te6edf3len Tff7b72= Te6edf3HEAPU32Tb4b4b4[Tb4b4b4(Te6edf3iov Tff7b72+ T79c0ff4Tb4b4b4) Tff7b72>> T79c0ff2Tb4b4b4]Tb4b4b4;
Te6edf3iov Tff7b72+= T79c0ff8Tb4b4b4;
Tff7b72var Te6edf3curr Tff7b72= Te6edf3FSTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3HEAP8Tb4b4b4, Te6edf3ptrTb4b4b4, Te6edf3lenTb4b4b4, Te6edf3offsetTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3curr Tff7b72< T79c0ff0Tb4b4b4) Tff7b72return Tff7b72-T79c0ff1Tb4b4b4;
Te6edf3ret Tff7b72+= Te6edf3currTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3retTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3_fd_writeTb4b4b4(Te6edf3fdTb4b4b4, Te6edf3iovTb4b4b4, Te6edf3iovcntTb4b4b4, Te6edf3pnumTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3stream Tff7b72= Te6edf3SYSCALLSTb4b4b4.Te6edf3getStreamFromFDTb4b4b4(Te6edf3fdTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3num Tff7b72= Te6edf3doWritevTb4b4b4(Te6edf3streamTb4b4b4, Te6edf3iovTb4b4b4, Te6edf3iovcntTb4b4b4)Tb4b4b4;
Te6edf3HEAPU32Tb4b4b4[Te6edf3pnum Tff7b72>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3numTb4b4b4;
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3FS Tff7b72== Ta5d6ff"undefined" Tff7b72|| Tff7b72!Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3FSTb4b4b4.Te6edf3ErrnoErrorTb4b4b4)Tb4b4b4) Tff7b72throw Te6edf3eTb4b4b4;
Tff7b72return Te6edf3eTb4b4b4.Te6edf3errnoTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3handleExceptionTb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
T8b949e// Certain exception types we do not treat as errors since they are used for
T8b949e// internal control flow.
T8b949e// 1. ExitStatus, which is thrown by exit()
T8b949e// 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others
T8b949e// that wish to return to JS event loop.
Tff7b72if Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3ExitStatus Tff7b72|| Te6edf3e Tff7b72== Ta5d6ff"unwind"Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3EXITSTATUSTb4b4b4;
Tb4b4b4}
Te6edf3checkStackCookieTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3e Tff7b72instanceof Te6edf3WebAssemblyTb4b4b4.Te6edf3RuntimeErrorTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_emscripten_stack_get_currentTb4b4b4(Tb4b4b4) Tff7b72<= T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3errTb4b4b4(
Ta5d6ff"Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to " Tff7b72+
Te6edf3STACK_SIZE Tff7b72+
Ta5d6ff")"
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Te6edf3quit_Tb4b4b4(T79c0ff1Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3allocateUTF8OnStackTb4b4b4(Te6edf3strTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3size Tff7b72= Te6edf3lengthBytesUTF8Tb4b4b4(Te6edf3strTb4b4b4) Tff7b72+ T79c0ff1Tb4b4b4;
Tff7b72var Te6edf3ret Tff7b72= Te6edf3stackAllocTb4b4b4(Te6edf3sizeTb4b4b4)Tb4b4b4;
Te6edf3stringToUTF8ArrayTb4b4b4(Te6edf3strTb4b4b4, Te6edf3HEAP8Tb4b4b4, Te6edf3retTb4b4b4, Te6edf3sizeTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3retTb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3FSNode Tff7b72= T8b949e/** @constructor */ Tff7b72function Tb4b4b4(Te6edf3parentTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3modeTb4b4b4, Te6edf3rdevTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3parentTb4b4b4) Tb4b4b4{
Te6edf3parent Tff7b72= Tff7b72thisTb4b4b4; T8b949e// root node sets parent to itself
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3parent Tff7b72= Te6edf3parentTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3mount Tff7b72= Te6edf3parentTb4b4b4.Te6edf3mountTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3mounted Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3id Tff7b72= Te6edf3FSTb4b4b4.Te6edf3nextInodeTff7b72++Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3name Tff7b72= Te6edf3nameTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3mode Tff7b72= Te6edf3modeTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3node_ops Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3stream_ops Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3rdev Tff7b72= Te6edf3rdevTb4b4b4;
Tb4b4b4}Tb4b4b4;
Tff7b72var Te6edf3readMode Tff7b72= T79c0ff292 T8b949e/*292*/ Tff7b72| T79c0ff73Tb4b4b4; T8b949e/*73*/
Tff7b72var Te6edf3writeMode Tff7b72= T79c0ff146Tb4b4b4; T8b949e/*146*/
Tffa657ObjectTb4b4b4.Te6edf3definePropertiesTb4b4b4(Te6edf3FSNodeTb4b4b4.Te6edf3prototypeTb4b4b4, Tb4b4b4{
Te6edf3readTff7b72: Tb4b4b4{
Te6edf3getTff7b72: T8b949e/** @this{FSNode} */ Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3mode Tff7b72& Te6edf3readModeTb4b4b4) Tff7b72=== Te6edf3readModeTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3setTff7b72: T8b949e/** @this{FSNode} */ Tff7b72function Tb4b4b4(Te6edf3valTb4b4b4) Tb4b4b4{
Te6edf3val Tff7b72? Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3mode Tff7b72|= Te6edf3readModeTb4b4b4) Tff7b72: Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3mode Tff7b72&= Tff7b72~Te6edf3readModeTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3writeTff7b72: Tb4b4b4{
Te6edf3getTff7b72: T8b949e/** @this{FSNode} */ Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3mode Tff7b72& Te6edf3writeModeTb4b4b4) Tff7b72=== Te6edf3writeModeTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3setTff7b72: T8b949e/** @this{FSNode} */ Tff7b72function Tb4b4b4(Te6edf3valTb4b4b4) Tb4b4b4{
Te6edf3val Tff7b72? Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3mode Tff7b72|= Te6edf3writeModeTb4b4b4) Tff7b72: Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3mode Tff7b72&= Tff7b72~Te6edf3writeModeTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3isFolderTff7b72: Tb4b4b4{
Te6edf3getTff7b72: T8b949e/** @this{FSNode} */ Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3FSTb4b4b4.Te6edf3isDirTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3isDeviceTff7b72: Tb4b4b4{
Te6edf3getTff7b72: T8b949e/** @this{FSNode} */ Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3FSTb4b4b4.Te6edf3isChrdevTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3modeTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3FSNode Tff7b72= Te6edf3FSNodeTb4b4b4;
Te6edf3FSTb4b4b4.Te6edf3staticInitTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3ERRNO_CODES Tff7b72= Tb4b4b4{
Te6edf3EPERMTff7b72: T79c0ff63Tb4b4b4,
Te6edf3ENOENTTff7b72: T79c0ff44Tb4b4b4,
Te6edf3ESRCHTff7b72: T79c0ff71Tb4b4b4,
Te6edf3EINTRTff7b72: T79c0ff27Tb4b4b4,
Te6edf3EIOTff7b72: T79c0ff29Tb4b4b4,
Te6edf3ENXIOTff7b72: T79c0ff60Tb4b4b4,
Te6edf3E2BIGTff7b72: T79c0ff1Tb4b4b4,
Te6edf3ENOEXECTff7b72: T79c0ff45Tb4b4b4,
Te6edf3EBADFTff7b72: T79c0ff8Tb4b4b4,
Te6edf3ECHILDTff7b72: T79c0ff12Tb4b4b4,
Te6edf3EAGAINTff7b72: T79c0ff6Tb4b4b4,
Te6edf3EWOULDBLOCKTff7b72: T79c0ff6Tb4b4b4,
Te6edf3ENOMEMTff7b72: T79c0ff48Tb4b4b4,
Te6edf3EACCESTff7b72: T79c0ff2Tb4b4b4,
Te6edf3EFAULTTff7b72: T79c0ff21Tb4b4b4,
Te6edf3ENOTBLKTff7b72: T79c0ff105Tb4b4b4,
Te6edf3EBUSYTff7b72: T79c0ff10Tb4b4b4,
Te6edf3EEXISTTff7b72: T79c0ff20Tb4b4b4,
Te6edf3EXDEVTff7b72: T79c0ff75Tb4b4b4,
Te6edf3ENODEVTff7b72: T79c0ff43Tb4b4b4,
Te6edf3ENOTDIRTff7b72: T79c0ff54Tb4b4b4,
Te6edf3EISDIRTff7b72: T79c0ff31Tb4b4b4,
Te6edf3EINVALTff7b72: T79c0ff28Tb4b4b4,
Te6edf3ENFILETff7b72: T79c0ff41Tb4b4b4,
Te6edf3EMFILETff7b72: T79c0ff33Tb4b4b4,
Te6edf3ENOTTYTff7b72: T79c0ff59Tb4b4b4,
Te6edf3ETXTBSYTff7b72: T79c0ff74Tb4b4b4,
Te6edf3EFBIGTff7b72: T79c0ff22Tb4b4b4,
Te6edf3ENOSPCTff7b72: T79c0ff51Tb4b4b4,
Te6edf3ESPIPETff7b72: T79c0ff70Tb4b4b4,
Te6edf3EROFSTff7b72: T79c0ff69Tb4b4b4,
Te6edf3EMLINKTff7b72: T79c0ff34Tb4b4b4,
Te6edf3EPIPETff7b72: T79c0ff64Tb4b4b4,
Te6edf3EDOMTff7b72: T79c0ff18Tb4b4b4,
Te6edf3ERANGETff7b72: T79c0ff68Tb4b4b4,
Te6edf3ENOMSGTff7b72: T79c0ff49Tb4b4b4,
Te6edf3EIDRMTff7b72: T79c0ff24Tb4b4b4,
Te6edf3ECHRNGTff7b72: T79c0ff106Tb4b4b4,
Te6edf3EL2NSYNCTff7b72: T79c0ff156Tb4b4b4,
Te6edf3EL3HLTTff7b72: T79c0ff107Tb4b4b4,
Te6edf3EL3RSTTff7b72: T79c0ff108Tb4b4b4,
Te6edf3ELNRNGTff7b72: T79c0ff109Tb4b4b4,
Te6edf3EUNATCHTff7b72: T79c0ff110Tb4b4b4,
Te6edf3ENOCSITff7b72: T79c0ff111Tb4b4b4,
Te6edf3EL2HLTTff7b72: T79c0ff112Tb4b4b4,
Te6edf3EDEADLKTff7b72: T79c0ff16Tb4b4b4,
Te6edf3ENOLCKTff7b72: T79c0ff46Tb4b4b4,
Te6edf3EBADETff7b72: T79c0ff113Tb4b4b4,
Te6edf3EBADRTff7b72: T79c0ff114Tb4b4b4,
Te6edf3EXFULLTff7b72: T79c0ff115Tb4b4b4,
Te6edf3ENOANOTff7b72: T79c0ff104Tb4b4b4,
Te6edf3EBADRQCTff7b72: T79c0ff103Tb4b4b4,
Te6edf3EBADSLTTff7b72: T79c0ff102Tb4b4b4,
Te6edf3EDEADLOCKTff7b72: T79c0ff16Tb4b4b4,
Te6edf3EBFONTTff7b72: T79c0ff101Tb4b4b4,
Te6edf3ENOSTRTff7b72: T79c0ff100Tb4b4b4,
Te6edf3ENODATATff7b72: T79c0ff116Tb4b4b4,
Te6edf3ETIMETff7b72: T79c0ff117Tb4b4b4,
Te6edf3ENOSRTff7b72: T79c0ff118Tb4b4b4,
Te6edf3ENONETTff7b72: T79c0ff119Tb4b4b4,
Te6edf3ENOPKGTff7b72: T79c0ff120Tb4b4b4,
Te6edf3EREMOTETff7b72: T79c0ff121Tb4b4b4,
Te6edf3ENOLINKTff7b72: T79c0ff47Tb4b4b4,
Te6edf3EADVTff7b72: T79c0ff122Tb4b4b4,
Te6edf3ESRMNTTff7b72: T79c0ff123Tb4b4b4,
Te6edf3ECOMMTff7b72: T79c0ff124Tb4b4b4,
Te6edf3EPROTOTff7b72: T79c0ff65Tb4b4b4,
Te6edf3EMULTIHOPTff7b72: T79c0ff36Tb4b4b4,
Te6edf3EDOTDOTTff7b72: T79c0ff125Tb4b4b4,
Te6edf3EBADMSGTff7b72: T79c0ff9Tb4b4b4,
Te6edf3ENOTUNIQTff7b72: T79c0ff126Tb4b4b4,
Te6edf3EBADFDTff7b72: T79c0ff127Tb4b4b4,
Te6edf3EREMCHGTff7b72: T79c0ff128Tb4b4b4,
Te6edf3ELIBACCTff7b72: T79c0ff129Tb4b4b4,
Te6edf3ELIBBADTff7b72: T79c0ff130Tb4b4b4,
Te6edf3ELIBSCNTff7b72: T79c0ff131Tb4b4b4,
Te6edf3ELIBMAXTff7b72: T79c0ff132Tb4b4b4,
Te6edf3ELIBEXECTff7b72: T79c0ff133Tb4b4b4,
Te6edf3ENOSYSTff7b72: T79c0ff52Tb4b4b4,
Te6edf3ENOTEMPTYTff7b72: T79c0ff55Tb4b4b4,
Te6edf3ENAMETOOLONGTff7b72: T79c0ff37Tb4b4b4,
Te6edf3ELOOPTff7b72: T79c0ff32Tb4b4b4,
Te6edf3EOPNOTSUPPTff7b72: T79c0ff138Tb4b4b4,
Te6edf3EPFNOSUPPORTTff7b72: T79c0ff139Tb4b4b4,
Te6edf3ECONNRESETTff7b72: T79c0ff15Tb4b4b4,
Te6edf3ENOBUFSTff7b72: T79c0ff42Tb4b4b4,
Te6edf3EAFNOSUPPORTTff7b72: T79c0ff5Tb4b4b4,
Te6edf3EPROTOTYPETff7b72: T79c0ff67Tb4b4b4,
Te6edf3ENOTSOCKTff7b72: T79c0ff57Tb4b4b4,
Te6edf3ENOPROTOOPTTff7b72: T79c0ff50Tb4b4b4,
Te6edf3ESHUTDOWNTff7b72: T79c0ff140Tb4b4b4,
Te6edf3ECONNREFUSEDTff7b72: T79c0ff14Tb4b4b4,
Te6edf3EADDRINUSETff7b72: T79c0ff3Tb4b4b4,
Te6edf3ECONNABORTEDTff7b72: T79c0ff13Tb4b4b4,
Te6edf3ENETUNREACHTff7b72: T79c0ff40Tb4b4b4,
Te6edf3ENETDOWNTff7b72: T79c0ff38Tb4b4b4,
Te6edf3ETIMEDOUTTff7b72: T79c0ff73Tb4b4b4,
Te6edf3EHOSTDOWNTff7b72: T79c0ff142Tb4b4b4,
Te6edf3EHOSTUNREACHTff7b72: T79c0ff23Tb4b4b4,
Te6edf3EINPROGRESSTff7b72: T79c0ff26Tb4b4b4,
Te6edf3EALREADYTff7b72: T79c0ff7Tb4b4b4,
Te6edf3EDESTADDRREQTff7b72: T79c0ff17Tb4b4b4,
Te6edf3EMSGSIZETff7b72: T79c0ff35Tb4b4b4,
Te6edf3EPROTONOSUPPORTTff7b72: T79c0ff66Tb4b4b4,
Te6edf3ESOCKTNOSUPPORTTff7b72: T79c0ff137Tb4b4b4,
Te6edf3EADDRNOTAVAILTff7b72: T79c0ff4Tb4b4b4,
Te6edf3ENETRESETTff7b72: T79c0ff39Tb4b4b4,
Te6edf3EISCONNTff7b72: T79c0ff30Tb4b4b4,
Te6edf3ENOTCONNTff7b72: T79c0ff53Tb4b4b4,
Te6edf3ETOOMANYREFSTff7b72: T79c0ff141Tb4b4b4,
Te6edf3EUSERSTff7b72: T79c0ff136Tb4b4b4,
Te6edf3EDQUOTTff7b72: T79c0ff19Tb4b4b4,
Te6edf3ESTALETff7b72: T79c0ff72Tb4b4b4,
Te6edf3ENOTSUPTff7b72: T79c0ff138Tb4b4b4,
Te6edf3ENOMEDIUMTff7b72: T79c0ff148Tb4b4b4,
Te6edf3EILSEQTff7b72: T79c0ff25Tb4b4b4,
Te6edf3EOVERFLOWTff7b72: T79c0ff61Tb4b4b4,
Te6edf3ECANCELEDTff7b72: T79c0ff11Tb4b4b4,
Te6edf3ENOTRECOVERABLETff7b72: T79c0ff56Tb4b4b4,
Te6edf3EOWNERDEADTff7b72: T79c0ff62Tb4b4b4,
Te6edf3ESTRPIPETff7b72: T79c0ff135Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72var Te6edf3ASSERTIONS Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72function Te6edf3checkIncomingModuleAPITb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3ignoredModulePropTb4b4b4(Ta5d6ff"fetchSettings"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72var Te6edf3asmLibraryArg Tff7b72= Tb4b4b4{
Te6edf3__assert_failTff7b72: Te6edf3___assert_failTb4b4b4,
Te6edf3__syscall__newselectTff7b72: Te6edf3___syscall__newselectTb4b4b4,
Te6edf3__syscall_fcntl64Tff7b72: Te6edf3___syscall_fcntl64Tb4b4b4,
Te6edf3__syscall_fstat64Tff7b72: Te6edf3___syscall_fstat64Tb4b4b4,
Te6edf3__syscall_getdents64Tff7b72: Te6edf3___syscall_getdents64Tb4b4b4,
Te6edf3__syscall_ioctlTff7b72: Te6edf3___syscall_ioctlTb4b4b4,
Te6edf3__syscall_lstat64Tff7b72: Te6edf3___syscall_lstat64Tb4b4b4,
Te6edf3__syscall_newfstatatTff7b72: Te6edf3___syscall_newfstatatTb4b4b4,
Te6edf3__syscall_openatTff7b72: Te6edf3___syscall_openatTb4b4b4,
Te6edf3__syscall_stat64Tff7b72: Te6edf3___syscall_stat64Tb4b4b4,
Te6edf3__syscall_unlinkatTff7b72: Te6edf3___syscall_unlinkatTb4b4b4,
Te6edf3_emscripten_get_now_is_monotonicTff7b72: Te6edf3__emscripten_get_now_is_monotonicTb4b4b4,
Te6edf3_gmtime_jsTff7b72: Te6edf3__gmtime_jsTb4b4b4,
Te6edf3_localtime_jsTff7b72: Te6edf3__localtime_jsTb4b4b4,
Te6edf3_tzset_jsTff7b72: Te6edf3__tzset_jsTb4b4b4,
Te6edf3emscripten_date_nowTff7b72: Te6edf3_emscripten_date_nowTb4b4b4,
Te6edf3emscripten_get_nowTff7b72: Te6edf3_emscripten_get_nowTb4b4b4,
Te6edf3emscripten_memcpy_bigTff7b72: Te6edf3_emscripten_memcpy_bigTb4b4b4,
Te6edf3emscripten_resize_heapTff7b72: Te6edf3_emscripten_resize_heapTb4b4b4,
Te6edf3environ_getTff7b72: Te6edf3_environ_getTb4b4b4,
Te6edf3environ_sizes_getTff7b72: Te6edf3_environ_sizes_getTb4b4b4,
Te6edf3exitTff7b72: Te6edf3_exitTb4b4b4,
Te6edf3fd_closeTff7b72: Te6edf3_fd_closeTb4b4b4,
Te6edf3fd_fdstat_getTff7b72: Te6edf3_fd_fdstat_getTb4b4b4,
Te6edf3fd_readTff7b72: Te6edf3_fd_readTb4b4b4,
Te6edf3fd_seekTff7b72: Te6edf3_fd_seekTb4b4b4,
Te6edf3fd_writeTff7b72: Te6edf3_fd_writeTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72var Te6edf3asm Tff7b72= Te6edf3createWasmTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3___wasm_call_ctors Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"___wasm_call_ctors"Tb4b4b4] Tff7b72= Te6edf3createExportWrapperTb4b4b4(Ta5d6ff"__wasm_call_ctors"Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3_main Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"_main"Tb4b4b4] Tff7b72= Te6edf3createExportWrapperTb4b4b4(Ta5d6ff"__main_argc_argv"Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3___errno_location Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"___errno_location"Tb4b4b4] Tff7b72= Te6edf3createExportWrapperTb4b4b4(Ta5d6ff"__errno_location"Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3_fflush Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"_fflush"Tb4b4b4] Tff7b72= Te6edf3createExportWrapperTb4b4b4(Ta5d6ff"fflush"Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3_malloc Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"_malloc"Tb4b4b4] Tff7b72= Te6edf3createExportWrapperTb4b4b4(Ta5d6ff"malloc"Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3_emscripten_stack_init Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"_emscripten_stack_init"Tb4b4b4] Tff7b72= Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3_emscripten_stack_init Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"_emscripten_stack_init"Tb4b4b4] Tff7b72=
Te6edf3ModuleTb4b4b4[Ta5d6ff"asm"Tb4b4b4]Tb4b4b4[Ta5d6ff"emscripten_stack_init"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3applyTb4b4b4(Tff7b72nullTb4b4b4, Te6edf3argumentsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3_emscripten_stack_get_free Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"_emscripten_stack_get_free"Tb4b4b4] Tff7b72= Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3_emscripten_stack_get_free Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"_emscripten_stack_get_free"Tb4b4b4] Tff7b72=
Te6edf3ModuleTb4b4b4[Ta5d6ff"asm"Tb4b4b4]Tb4b4b4[Ta5d6ff"emscripten_stack_get_free"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3applyTb4b4b4(Tff7b72nullTb4b4b4, Te6edf3argumentsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3_emscripten_stack_get_base Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"_emscripten_stack_get_base"Tb4b4b4] Tff7b72= Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3_emscripten_stack_get_base Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"_emscripten_stack_get_base"Tb4b4b4] Tff7b72=
Te6edf3ModuleTb4b4b4[Ta5d6ff"asm"Tb4b4b4]Tb4b4b4[Ta5d6ff"emscripten_stack_get_base"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3applyTb4b4b4(Tff7b72nullTb4b4b4, Te6edf3argumentsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3_emscripten_stack_get_end Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"_emscripten_stack_get_end"Tb4b4b4] Tff7b72= Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3_emscripten_stack_get_end Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"_emscripten_stack_get_end"Tb4b4b4] Tff7b72=
Te6edf3ModuleTb4b4b4[Ta5d6ff"asm"Tb4b4b4]Tb4b4b4[Ta5d6ff"emscripten_stack_get_end"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3applyTb4b4b4(Tff7b72nullTb4b4b4, Te6edf3argumentsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3stackSave Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"stackSave"Tb4b4b4] Tff7b72= Te6edf3createExportWrapperTb4b4b4(Ta5d6ff"stackSave"Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3stackRestore Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"stackRestore"Tb4b4b4] Tff7b72= Te6edf3createExportWrapperTb4b4b4(Ta5d6ff"stackRestore"Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3stackAlloc Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"stackAlloc"Tb4b4b4] Tff7b72= Te6edf3createExportWrapperTb4b4b4(Ta5d6ff"stackAlloc"Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3_emscripten_stack_get_current Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"_emscripten_stack_get_current"Tb4b4b4] Tff7b72= Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3_emscripten_stack_get_current Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"_emscripten_stack_get_current"Tb4b4b4] Tff7b72=
Te6edf3ModuleTb4b4b4[Ta5d6ff"asm"Tb4b4b4]Tb4b4b4[Ta5d6ff"emscripten_stack_get_current"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3applyTb4b4b4(Tff7b72nullTb4b4b4, Te6edf3argumentsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3dynCall_iij Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"dynCall_iij"Tb4b4b4] Tff7b72= Te6edf3createExportWrapperTb4b4b4(Ta5d6ff"dynCall_iij"Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e/** @type {function(...*):?} */
Tff7b72var Te6edf3dynCall_jiji Tff7b72= Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"dynCall_jiji"Tb4b4b4] Tff7b72= Te6edf3createExportWrapperTb4b4b4(Ta5d6ff"dynCall_jiji"Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e// === Auto-generated postamble setup entry stuff ===
Te6edf3ModuleTb4b4b4[Ta5d6ff"FS"Tb4b4b4] Tff7b72= Te6edf3FSTb4b4b4;
Tff7b72var Te6edf3unexportedRuntimeSymbols Tff7b72= Tb4b4b4[
Ta5d6ff"run"Tb4b4b4,
Ta5d6ff"UTF8ArrayToString"Tb4b4b4,
Ta5d6ff"UTF8ToString"Tb4b4b4,
Ta5d6ff"stringToUTF8Array"Tb4b4b4,
Ta5d6ff"stringToUTF8"Tb4b4b4,
Ta5d6ff"lengthBytesUTF8"Tb4b4b4,
Ta5d6ff"addOnPreRun"Tb4b4b4,
Ta5d6ff"addOnInit"Tb4b4b4,
Ta5d6ff"addOnPreMain"Tb4b4b4,
Ta5d6ff"addOnExit"Tb4b4b4,
Ta5d6ff"addOnPostRun"Tb4b4b4,
Ta5d6ff"addRunDependency"Tb4b4b4,
Ta5d6ff"removeRunDependency"Tb4b4b4,
Ta5d6ff"FS_createFolder"Tb4b4b4,
Ta5d6ff"FS_createPath"Tb4b4b4,
Ta5d6ff"FS_createDataFile"Tb4b4b4,
Ta5d6ff"FS_createPreloadedFile"Tb4b4b4,
Ta5d6ff"FS_createLazyFile"Tb4b4b4,
Ta5d6ff"FS_createLink"Tb4b4b4,
Ta5d6ff"FS_createDevice"Tb4b4b4,
Ta5d6ff"FS_unlink"Tb4b4b4,
Ta5d6ff"getLEB"Tb4b4b4,
Ta5d6ff"getFunctionTables"Tb4b4b4,
Ta5d6ff"alignFunctionTables"Tb4b4b4,
Ta5d6ff"registerFunctions"Tb4b4b4,
Ta5d6ff"prettyPrint"Tb4b4b4,
Ta5d6ff"getCompilerSetting"Tb4b4b4,
Ta5d6ff"out"Tb4b4b4,
Ta5d6ff"err"Tb4b4b4,
Ta5d6ff"callMain"Tb4b4b4,
Ta5d6ff"abort"Tb4b4b4,
Ta5d6ff"keepRuntimeAlive"Tb4b4b4,
Ta5d6ff"wasmMemory"Tb4b4b4,
Ta5d6ff"stackAlloc"Tb4b4b4,
Ta5d6ff"stackSave"Tb4b4b4,
Ta5d6ff"stackRestore"Tb4b4b4,
Ta5d6ff"getTempRet0"Tb4b4b4,
Ta5d6ff"setTempRet0"Tb4b4b4,
Ta5d6ff"writeStackCookie"Tb4b4b4,
Ta5d6ff"checkStackCookie"Tb4b4b4,
Ta5d6ff"ptrToString"Tb4b4b4,
Ta5d6ff"zeroMemory"Tb4b4b4,
Ta5d6ff"stringToNewUTF8"Tb4b4b4,
Ta5d6ff"exitJS"Tb4b4b4,
Ta5d6ff"getHeapMax"Tb4b4b4,
Ta5d6ff"emscripten_realloc_buffer"Tb4b4b4,
Ta5d6ff"ENV"Tb4b4b4,
Ta5d6ff"ERRNO_CODES"Tb4b4b4,
Ta5d6ff"ERRNO_MESSAGES"Tb4b4b4,
Ta5d6ff"setErrNo"Tb4b4b4,
Ta5d6ff"inetPton4"Tb4b4b4,
Ta5d6ff"inetNtop4"Tb4b4b4,
Ta5d6ff"inetPton6"Tb4b4b4,
Ta5d6ff"inetNtop6"Tb4b4b4,
Ta5d6ff"readSockaddr"Tb4b4b4,
Ta5d6ff"writeSockaddr"Tb4b4b4,
Ta5d6ff"DNS"Tb4b4b4,
Ta5d6ff"getHostByName"Tb4b4b4,
Ta5d6ff"Protocols"Tb4b4b4,
Ta5d6ff"Sockets"Tb4b4b4,
Ta5d6ff"getRandomDevice"Tb4b4b4,
Ta5d6ff"warnOnce"Tb4b4b4,
Ta5d6ff"traverseStack"Tb4b4b4,
Ta5d6ff"UNWIND_CACHE"Tb4b4b4,
Ta5d6ff"convertPCtoSourceLocation"Tb4b4b4,
Ta5d6ff"readAsmConstArgsArray"Tb4b4b4,
Ta5d6ff"readAsmConstArgs"Tb4b4b4,
Ta5d6ff"mainThreadEM_ASM"Tb4b4b4,
Ta5d6ff"jstoi_q"Tb4b4b4,
Ta5d6ff"jstoi_s"Tb4b4b4,
Ta5d6ff"getExecutableName"Tb4b4b4,
Ta5d6ff"listenOnce"Tb4b4b4,
Ta5d6ff"autoResumeAudioContext"Tb4b4b4,
Ta5d6ff"dynCallLegacy"Tb4b4b4,
Ta5d6ff"getDynCaller"Tb4b4b4,
Ta5d6ff"dynCall"Tb4b4b4,
Ta5d6ff"handleException"Tb4b4b4,
Ta5d6ff"runtimeKeepalivePush"Tb4b4b4,
Ta5d6ff"runtimeKeepalivePop"Tb4b4b4,
Ta5d6ff"callUserCallback"Tb4b4b4,
Ta5d6ff"maybeExit"Tb4b4b4,
Ta5d6ff"safeSetTimeout"Tb4b4b4,
Ta5d6ff"asmjsMangle"Tb4b4b4,
Ta5d6ff"asyncLoad"Tb4b4b4,
Ta5d6ff"alignMemory"Tb4b4b4,
Ta5d6ff"mmapAlloc"Tb4b4b4,
Ta5d6ff"writeI53ToI64"Tb4b4b4,
Ta5d6ff"writeI53ToI64Clamped"Tb4b4b4,
Ta5d6ff"writeI53ToI64Signaling"Tb4b4b4,
Ta5d6ff"writeI53ToU64Clamped"Tb4b4b4,
Ta5d6ff"writeI53ToU64Signaling"Tb4b4b4,
Ta5d6ff"readI53FromI64"Tb4b4b4,
Ta5d6ff"readI53FromU64"Tb4b4b4,
Ta5d6ff"convertI32PairToI53"Tb4b4b4,
Ta5d6ff"convertI32PairToI53Checked"Tb4b4b4,
Ta5d6ff"convertU32PairToI53"Tb4b4b4,
Ta5d6ff"getCFunc"Tb4b4b4,
Ta5d6ff"ccall"Tb4b4b4,
Ta5d6ff"cwrap"Tb4b4b4,
Ta5d6ff"uleb128Encode"Tb4b4b4,
Ta5d6ff"sigToWasmTypes"Tb4b4b4,
Ta5d6ff"generateFuncType"Tb4b4b4,
Ta5d6ff"convertJsFunctionToWasm"Tb4b4b4,
Ta5d6ff"freeTableIndexes"Tb4b4b4,
Ta5d6ff"functionsInTableMap"Tb4b4b4,
Ta5d6ff"getEmptyTableSlot"Tb4b4b4,
Ta5d6ff"updateTableMap"Tb4b4b4,
Ta5d6ff"addFunction"Tb4b4b4,
Ta5d6ff"removeFunction"Tb4b4b4,
Ta5d6ff"reallyNegative"Tb4b4b4,
Ta5d6ff"unSign"Tb4b4b4,
Ta5d6ff"strLen"Tb4b4b4,
Ta5d6ff"reSign"Tb4b4b4,
Ta5d6ff"formatString"Tb4b4b4,
Ta5d6ff"setValue"Tb4b4b4,
Ta5d6ff"getValue"Tb4b4b4,
Ta5d6ff"PATH"Tb4b4b4,
Ta5d6ff"PATH_FS"Tb4b4b4,
Ta5d6ff"intArrayFromString"Tb4b4b4,
Ta5d6ff"intArrayToString"Tb4b4b4,
Ta5d6ff"AsciiToString"Tb4b4b4,
Ta5d6ff"stringToAscii"Tb4b4b4,
Ta5d6ff"UTF16Decoder"Tb4b4b4,
Ta5d6ff"UTF16ToString"Tb4b4b4,
Ta5d6ff"stringToUTF16"Tb4b4b4,
Ta5d6ff"lengthBytesUTF16"Tb4b4b4,
Ta5d6ff"UTF32ToString"Tb4b4b4,
Ta5d6ff"stringToUTF32"Tb4b4b4,
Ta5d6ff"lengthBytesUTF32"Tb4b4b4,
Ta5d6ff"allocateUTF8"Tb4b4b4,
Ta5d6ff"allocateUTF8OnStack"Tb4b4b4,
Ta5d6ff"writeStringToMemory"Tb4b4b4,
Ta5d6ff"writeArrayToMemory"Tb4b4b4,
Ta5d6ff"writeAsciiToMemory"Tb4b4b4,
Ta5d6ff"SYSCALLS"Tb4b4b4,
Ta5d6ff"getSocketFromFD"Tb4b4b4,
Ta5d6ff"getSocketAddress"Tb4b4b4,
Ta5d6ff"JSEvents"Tb4b4b4,
Ta5d6ff"registerKeyEventCallback"Tb4b4b4,
Ta5d6ff"specialHTMLTargets"Tb4b4b4,
Ta5d6ff"maybeCStringToJsString"Tb4b4b4,
Ta5d6ff"findEventTarget"Tb4b4b4,
Ta5d6ff"findCanvasEventTarget"Tb4b4b4,
Ta5d6ff"getBoundingClientRect"Tb4b4b4,
Ta5d6ff"fillMouseEventData"Tb4b4b4,
Ta5d6ff"registerMouseEventCallback"Tb4b4b4,
Ta5d6ff"registerWheelEventCallback"Tb4b4b4,
Ta5d6ff"registerUiEventCallback"Tb4b4b4,
Ta5d6ff"registerFocusEventCallback"Tb4b4b4,
Ta5d6ff"fillDeviceOrientationEventData"Tb4b4b4,
Ta5d6ff"registerDeviceOrientationEventCallback"Tb4b4b4,
Ta5d6ff"fillDeviceMotionEventData"Tb4b4b4,
Ta5d6ff"registerDeviceMotionEventCallback"Tb4b4b4,
Ta5d6ff"screenOrientation"Tb4b4b4,
Ta5d6ff"fillOrientationChangeEventData"Tb4b4b4,
Ta5d6ff"registerOrientationChangeEventCallback"Tb4b4b4,
Ta5d6ff"fillFullscreenChangeEventData"Tb4b4b4,
Ta5d6ff"registerFullscreenChangeEventCallback"Tb4b4b4,
Ta5d6ff"JSEvents_requestFullscreen"Tb4b4b4,
Ta5d6ff"JSEvents_resizeCanvasForFullscreen"Tb4b4b4,
Ta5d6ff"registerRestoreOldStyle"Tb4b4b4,
Ta5d6ff"hideEverythingExceptGivenElement"Tb4b4b4,
Ta5d6ff"restoreHiddenElements"Tb4b4b4,
Ta5d6ff"setLetterbox"Tb4b4b4,
Ta5d6ff"currentFullscreenStrategy"Tb4b4b4,
Ta5d6ff"restoreOldWindowedStyle"Tb4b4b4,
Ta5d6ff"softFullscreenResizeWebGLRenderTarget"Tb4b4b4,
Ta5d6ff"doRequestFullscreen"Tb4b4b4,
Ta5d6ff"fillPointerlockChangeEventData"Tb4b4b4,
Ta5d6ff"registerPointerlockChangeEventCallback"Tb4b4b4,
Ta5d6ff"registerPointerlockErrorEventCallback"Tb4b4b4,
Ta5d6ff"requestPointerLock"Tb4b4b4,
Ta5d6ff"fillVisibilityChangeEventData"Tb4b4b4,
Ta5d6ff"registerVisibilityChangeEventCallback"Tb4b4b4,
Ta5d6ff"registerTouchEventCallback"Tb4b4b4,
Ta5d6ff"fillGamepadEventData"Tb4b4b4,
Ta5d6ff"registerGamepadEventCallback"Tb4b4b4,
Ta5d6ff"registerBeforeUnloadEventCallback"Tb4b4b4,
Ta5d6ff"fillBatteryEventData"Tb4b4b4,
Ta5d6ff"battery"Tb4b4b4,
Ta5d6ff"registerBatteryEventCallback"Tb4b4b4,
Ta5d6ff"setCanvasElementSize"Tb4b4b4,
Ta5d6ff"getCanvasElementSize"Tb4b4b4,
Ta5d6ff"demangle"Tb4b4b4,
Ta5d6ff"demangleAll"Tb4b4b4,
Ta5d6ff"jsStackTrace"Tb4b4b4,
Ta5d6ff"stackTrace"Tb4b4b4,
Ta5d6ff"ExitStatus"Tb4b4b4,
Ta5d6ff"getEnvStrings"Tb4b4b4,
Ta5d6ff"checkWasiClock"Tb4b4b4,
Ta5d6ff"doReadv"Tb4b4b4,
Ta5d6ff"doWritev"Tb4b4b4,
Ta5d6ff"dlopenMissingError"Tb4b4b4,
Ta5d6ff"createDyncallWrapper"Tb4b4b4,
Ta5d6ff"setImmediateWrapped"Tb4b4b4,
Ta5d6ff"clearImmediateWrapped"Tb4b4b4,
Ta5d6ff"polyfillSetImmediate"Tb4b4b4,
Ta5d6ff"Browser"Tb4b4b4,
Ta5d6ff"setMainLoop"Tb4b4b4,
Ta5d6ff"wget"Tb4b4b4,
Ta5d6ff"MEMFS"Tb4b4b4,
Ta5d6ff"TTY"Tb4b4b4,
Ta5d6ff"PIPEFS"Tb4b4b4,
Ta5d6ff"SOCKFS"Tb4b4b4,
Ta5d6ff"_setNetworkCallback"Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Te6edf3unexportedRuntimeSymbolsTb4b4b4.Te6edf3forEachTb4b4b4(Te6edf3unexportedRuntimeSymbolTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3missingLibrarySymbols Tff7b72= Tb4b4b4[
Ta5d6ff"stringToNewUTF8"Tb4b4b4,
Ta5d6ff"inetPton4"Tb4b4b4,
Ta5d6ff"inetNtop4"Tb4b4b4,
Ta5d6ff"inetPton6"Tb4b4b4,
Ta5d6ff"inetNtop6"Tb4b4b4,
Ta5d6ff"readSockaddr"Tb4b4b4,
Ta5d6ff"writeSockaddr"Tb4b4b4,
Ta5d6ff"getHostByName"Tb4b4b4,
Ta5d6ff"traverseStack"Tb4b4b4,
Ta5d6ff"convertPCtoSourceLocation"Tb4b4b4,
Ta5d6ff"readAsmConstArgs"Tb4b4b4,
Ta5d6ff"mainThreadEM_ASM"Tb4b4b4,
Ta5d6ff"jstoi_q"Tb4b4b4,
Ta5d6ff"jstoi_s"Tb4b4b4,
Ta5d6ff"listenOnce"Tb4b4b4,
Ta5d6ff"autoResumeAudioContext"Tb4b4b4,
Ta5d6ff"dynCallLegacy"Tb4b4b4,
Ta5d6ff"getDynCaller"Tb4b4b4,
Ta5d6ff"dynCall"Tb4b4b4,
Ta5d6ff"runtimeKeepalivePush"Tb4b4b4,
Ta5d6ff"runtimeKeepalivePop"Tb4b4b4,
Ta5d6ff"callUserCallback"Tb4b4b4,
Ta5d6ff"maybeExit"Tb4b4b4,
Ta5d6ff"safeSetTimeout"Tb4b4b4,
Ta5d6ff"asmjsMangle"Tb4b4b4,
Ta5d6ff"writeI53ToI64"Tb4b4b4,
Ta5d6ff"writeI53ToI64Clamped"Tb4b4b4,
Ta5d6ff"writeI53ToI64Signaling"Tb4b4b4,
Ta5d6ff"writeI53ToU64Clamped"Tb4b4b4,
Ta5d6ff"writeI53ToU64Signaling"Tb4b4b4,
Ta5d6ff"readI53FromU64"Tb4b4b4,
Ta5d6ff"convertI32PairToI53"Tb4b4b4,
Ta5d6ff"convertU32PairToI53"Tb4b4b4,
Ta5d6ff"getCFunc"Tb4b4b4,
Ta5d6ff"ccall"Tb4b4b4,
Ta5d6ff"cwrap"Tb4b4b4,
Ta5d6ff"uleb128Encode"Tb4b4b4,
Ta5d6ff"sigToWasmTypes"Tb4b4b4,
Ta5d6ff"generateFuncType"Tb4b4b4,
Ta5d6ff"convertJsFunctionToWasm"Tb4b4b4,
Ta5d6ff"getEmptyTableSlot"Tb4b4b4,
Ta5d6ff"updateTableMap"Tb4b4b4,
Ta5d6ff"addFunction"Tb4b4b4,
Ta5d6ff"removeFunction"Tb4b4b4,
Ta5d6ff"reallyNegative"Tb4b4b4,
Ta5d6ff"unSign"Tb4b4b4,
Ta5d6ff"strLen"Tb4b4b4,
Ta5d6ff"reSign"Tb4b4b4,
Ta5d6ff"formatString"Tb4b4b4,
Ta5d6ff"intArrayToString"Tb4b4b4,
Ta5d6ff"AsciiToString"Tb4b4b4,
Ta5d6ff"stringToAscii"Tb4b4b4,
Ta5d6ff"UTF16ToString"Tb4b4b4,
Ta5d6ff"stringToUTF16"Tb4b4b4,
Ta5d6ff"lengthBytesUTF16"Tb4b4b4,
Ta5d6ff"UTF32ToString"Tb4b4b4,
Ta5d6ff"stringToUTF32"Tb4b4b4,
Ta5d6ff"lengthBytesUTF32"Tb4b4b4,
Ta5d6ff"writeStringToMemory"Tb4b4b4,
Ta5d6ff"writeArrayToMemory"Tb4b4b4,
Ta5d6ff"getSocketFromFD"Tb4b4b4,
Ta5d6ff"getSocketAddress"Tb4b4b4,
Ta5d6ff"registerKeyEventCallback"Tb4b4b4,
Ta5d6ff"maybeCStringToJsString"Tb4b4b4,
Ta5d6ff"findEventTarget"Tb4b4b4,
Ta5d6ff"findCanvasEventTarget"Tb4b4b4,
Ta5d6ff"getBoundingClientRect"Tb4b4b4,
Ta5d6ff"fillMouseEventData"Tb4b4b4,
Ta5d6ff"registerMouseEventCallback"Tb4b4b4,
Ta5d6ff"registerWheelEventCallback"Tb4b4b4,
Ta5d6ff"registerUiEventCallback"Tb4b4b4,
Ta5d6ff"registerFocusEventCallback"Tb4b4b4,
Ta5d6ff"fillDeviceOrientationEventData"Tb4b4b4,
Ta5d6ff"registerDeviceOrientationEventCallback"Tb4b4b4,
Ta5d6ff"fillDeviceMotionEventData"Tb4b4b4,
Ta5d6ff"registerDeviceMotionEventCallback"Tb4b4b4,
Ta5d6ff"screenOrientation"Tb4b4b4,
Ta5d6ff"fillOrientationChangeEventData"Tb4b4b4,
Ta5d6ff"registerOrientationChangeEventCallback"Tb4b4b4,
Ta5d6ff"fillFullscreenChangeEventData"Tb4b4b4,
Ta5d6ff"registerFullscreenChangeEventCallback"Tb4b4b4,
Ta5d6ff"JSEvents_requestFullscreen"Tb4b4b4,
Ta5d6ff"JSEvents_resizeCanvasForFullscreen"Tb4b4b4,
Ta5d6ff"registerRestoreOldStyle"Tb4b4b4,
Ta5d6ff"hideEverythingExceptGivenElement"Tb4b4b4,
Ta5d6ff"restoreHiddenElements"Tb4b4b4,
Ta5d6ff"setLetterbox"Tb4b4b4,
Ta5d6ff"softFullscreenResizeWebGLRenderTarget"Tb4b4b4,
Ta5d6ff"doRequestFullscreen"Tb4b4b4,
Ta5d6ff"fillPointerlockChangeEventData"Tb4b4b4,
Ta5d6ff"registerPointerlockChangeEventCallback"Tb4b4b4,
Ta5d6ff"registerPointerlockErrorEventCallback"Tb4b4b4,
Ta5d6ff"requestPointerLock"Tb4b4b4,
Ta5d6ff"fillVisibilityChangeEventData"Tb4b4b4,
Ta5d6ff"registerVisibilityChangeEventCallback"Tb4b4b4,
Ta5d6ff"registerTouchEventCallback"Tb4b4b4,
Ta5d6ff"fillGamepadEventData"Tb4b4b4,
Ta5d6ff"registerGamepadEventCallback"Tb4b4b4,
Ta5d6ff"registerBeforeUnloadEventCallback"Tb4b4b4,
Ta5d6ff"fillBatteryEventData"Tb4b4b4,
Ta5d6ff"battery"Tb4b4b4,
Ta5d6ff"registerBatteryEventCallback"Tb4b4b4,
Ta5d6ff"setCanvasElementSize"Tb4b4b4,
Ta5d6ff"getCanvasElementSize"Tb4b4b4,
Ta5d6ff"jsStackTrace"Tb4b4b4,
Ta5d6ff"stackTrace"Tb4b4b4,
Ta5d6ff"checkWasiClock"Tb4b4b4,
Ta5d6ff"createDyncallWrapper"Tb4b4b4,
Ta5d6ff"setImmediateWrapped"Tb4b4b4,
Ta5d6ff"clearImmediateWrapped"Tb4b4b4,
Ta5d6ff"polyfillSetImmediate"Tb4b4b4,
Ta5d6ff"setMainLoop"Tb4b4b4,
Ta5d6ff"_setNetworkCallback"Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Te6edf3missingLibrarySymbolsTb4b4b4.Te6edf3forEachTb4b4b4(Te6edf3missingLibrarySymbolTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3calledRunTb4b4b4;
Te6edf3dependenciesFulfilled Tff7b72= Tff7b72function Te6edf3runCallerTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3calledRunTb4b4b4) Te6edf3runTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3calledRunTb4b4b4) Te6edf3dependenciesFulfilled Tff7b72= Te6edf3runCallerTb4b4b4; T8b949e// try this again later, after new deps are fulfilled
Tb4b4b4}Tb4b4b4;
Tff7b72function Te6edf3callMainTb4b4b4(Te6edf3argsTb4b4b4) Tb4b4b4{
Te6edf3assertTb4b4b4(
Te6edf3runDependencies Tff7b72== T79c0ff0Tb4b4b4,
Ta5d6ff'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'
Tb4b4b4)Tb4b4b4;
Te6edf3assertTb4b4b4(Te6edf3__ATPRERUN__Tb4b4b4.Te6edf3length Tff7b72== T79c0ff0Tb4b4b4, Ta5d6ff"cannot call main when preRun functions remain to be called"Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3entryFunction Tff7b72= Te6edf3ModuleTb4b4b4[Ta5d6ff"_main"Tb4b4b4]Tb4b4b4;
Te6edf3args Tff7b72= Te6edf3args Tff7b72|| Tb4b4b4[Tb4b4b4]Tb4b4b4;
Te6edf3argsTb4b4b4.Te6edf3unshiftTb4b4b4(Te6edf3thisProgramTb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3argc Tff7b72= Te6edf3argsTb4b4b4.Te6edf3lengthTb4b4b4;
Tff7b72var Te6edf3argv Tff7b72= Te6edf3stackAllocTb4b4b4(Tb4b4b4(Te6edf3argc Tff7b72+ T79c0ff1Tb4b4b4) Tff7b72* T79c0ff4Tb4b4b4)Tb4b4b4;
Tff7b72var Te6edf3argv_ptr Tff7b72= Te6edf3argv Tff7b72>> T79c0ff2Tb4b4b4;
Te6edf3argsTb4b4b4.Te6edf3forEachTb4b4b4(Tb4b4b4(Te6edf3argTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3HEAP32Tb4b4b4[Te6edf3argv_ptrTff7b72++Tb4b4b4] Tff7b72= Te6edf3allocateUTF8OnStackTb4b4b4(Te6edf3argTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3HEAP32Tb4b4b4[Te6edf3argv_ptrTb4b4b4] Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72var Te6edf3ret Tff7b72= Te6edf3entryFunctionTb4b4b4(Te6edf3argcTb4b4b4, Te6edf3argvTb4b4b4)Tb4b4b4;
T8b949e// In PROXY_TO_PTHREAD builds, we should never exit the runtime below, as
T8b949e// execution is asynchronously handed off to a pthread.
T8b949e// if we're not running an evented main loop, it's time to exit
Te6edf3exitJSTb4b4b4(Te6edf3retTb4b4b4, T8b949e/* implicit = */ Tff7b72trueTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3retTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3handleExceptionTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3stackCheckInitTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// This is normally called automatically during __wasm_call_ctors but need to
T8b949e// get these values before even running any of the ctors so we call it redundantly
T8b949e// here.
Te6edf3_emscripten_stack_initTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// TODO(sbc): Move writeStackCookie to native to to avoid this.
Te6edf3writeStackCookieTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e/** @type {function(Array=)} */
Tff7b72function Te6edf3runTb4b4b4(Te6edf3argsTb4b4b4) Tb4b4b4{
Te6edf3args Tff7b72= Te6edf3args Tff7b72|| Te6edf3arguments_Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3runDependencies Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3stackCheckInitTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3preRunTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// a preRun added a dependency, run will be called later
Tff7b72if Tb4b4b4(Te6edf3runDependencies Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3doRunTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// run may have just been called through dependencies being fulfilled just in this very frame,
T8b949e// or while the async setStatus time below was happening
Tff7b72if Tb4b4b4(Te6edf3calledRunTb4b4b4) Tff7b72returnTb4b4b4;
Te6edf3calledRun Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3ModuleTb4b4b4[Ta5d6ff"calledRun"Tb4b4b4] Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ABORTTb4b4b4) Tff7b72returnTb4b4b4;
Te6edf3initRuntimeTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3preMainTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3readyPromiseResolveTb4b4b4(Te6edf3ModuleTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"onRuntimeInitialized"Tb4b4b4]Tb4b4b4) Te6edf3ModuleTb4b4b4[Ta5d6ff"onRuntimeInitialized"Tb4b4b4]Tb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3shouldRunNowTb4b4b4) Te6edf3callMainTb4b4b4(Te6edf3argsTb4b4b4)Tb4b4b4;
Te6edf3postRunTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"setStatus"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3ModuleTb4b4b4[Ta5d6ff"setStatus"Tb4b4b4]Tb4b4b4(Ta5d6ff"Running..."Tb4b4b4)Tb4b4b4;
Te6edf3setTimeoutTb4b4b4(Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3setTimeoutTb4b4b4(Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3ModuleTb4b4b4[Ta5d6ff"setStatus"Tb4b4b4]Tb4b4b4(Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3doRunTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3doRunTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3checkStackCookieTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3checkUnflushedContentTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// Compiler settings do not allow exiting the runtime, so flushing
T8b949e// the streams is not possible. but in ASSERTIONS mode we check
T8b949e// if there was something to flush, and if so tell the user they
T8b949e// should request that the runtime be exitable.
T8b949e// Normally we would not even include flush() at all, but in ASSERTIONS
T8b949e// builds we do so just for this check, and here we see if there is any
T8b949e// content to flush, that is, we check if there would have been
T8b949e// something a non-ASSERTIONS build would have not seen.
T8b949e// How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0
T8b949e// mode (which has its own special function for this; otherwise, all
T8b949e// the code is inside libc)
Tff7b72var Te6edf3oldOut Tff7b72= Te6edf3outTb4b4b4;
Tff7b72var Te6edf3oldErr Tff7b72= Te6edf3errTb4b4b4;
Tff7b72var Te6edf3has Tff7b72= Tff7b72falseTb4b4b4;
Te6edf3out Tff7b72= Te6edf3err Tff7b72= Tb4b4b4(Te6edf3xTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3has Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4}Tb4b4b4;
Tff7b72try Tb4b4b4{
T8b949e// it doesn't matter if it fails
Te6edf3_fflushTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
T8b949e// also flush in the JS FS layer
Tb4b4b4[Ta5d6ff"stdout"Tb4b4b4, Ta5d6ff"stderr"Tb4b4b4]Tb4b4b4.Te6edf3forEachTb4b4b4(Tff7b72function Tb4b4b4(Te6edf3nameTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3info Tff7b72= Te6edf3FSTb4b4b4.Te6edf3analyzePathTb4b4b4(Ta5d6ff"/dev/" Tff7b72+ Te6edf3nameTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3infoTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72var Te6edf3stream Tff7b72= Te6edf3infoTb4b4b4.Te6edf3objectTb4b4b4;
Tff7b72var Te6edf3rdev Tff7b72= Te6edf3streamTb4b4b4.Te6edf3rdevTb4b4b4;
Tff7b72var Te6edf3tty Tff7b72= Te6edf3TTYTb4b4b4.Te6edf3ttysTb4b4b4[Te6edf3rdevTb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3tty Tff7b72&& Te6edf3ttyTb4b4b4.Te6edf3output Tff7b72&& Te6edf3ttyTb4b4b4.Te6edf3outputTb4b4b4.Te6edf3lengthTb4b4b4) Tb4b4b4{
Te6edf3has Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{Tb4b4b4}
Te6edf3out Tff7b72= Te6edf3oldOutTb4b4b4;
Te6edf3err Tff7b72= Te6edf3oldErrTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3hasTb4b4b4) Tb4b4b4{
Te6edf3warnOnceTb4b4b4(
Ta5d6ff"stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc."
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"preInit"Tb4b4b4]Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3ModuleTb4b4b4[Ta5d6ff"preInit"Tb4b4b4] Tff7b72== Ta5d6ff"function"Tb4b4b4) Te6edf3ModuleTb4b4b4[Ta5d6ff"preInit"Tb4b4b4] Tff7b72= Tb4b4b4[Te6edf3ModuleTb4b4b4[Ta5d6ff"preInit"Tb4b4b4]Tb4b4b4]Tb4b4b4;
Tff7b72while Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"preInit"Tb4b4b4]Tb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3ModuleTb4b4b4[Ta5d6ff"preInit"Tb4b4b4]Tb4b4b4.Te6edf3popTb4b4b4(Tb4b4b4)Tb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// shouldRunNow refers to calling main(), not run().
Tff7b72var Te6edf3shouldRunNow Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ModuleTb4b4b4[Ta5d6ff"noInitialRun"Tb4b4b4]Tb4b4b4) Te6edf3shouldRunNow Tff7b72= Tff7b72falseTb4b4b4;
Te6edf3runTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3SOXModuleTb4b4b4.Te6edf3readyTb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3exports Tff7b72=== Ta5d6ff"object" Tff7b72&& Tff7b72typeof Te6edf3module Tff7b72=== Ta5d6ff"object"Tb4b4b4) Te6edf3moduleTb4b4b4.Te6edf3exports Tff7b72= Te6edf3SOXModuleTb4b4b4;
Tff7b72else Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3define Tff7b72=== Ta5d6ff"function" Tff7b72&& Te6edf3defineTb4b4b4[Ta5d6ff"amd"Tb4b4b4]Tb4b4b4)
Te6edf3defineTb4b4b4(Tb4b4b4[Tb4b4b4]Tb4b4b4, Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3SOXModuleTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72else Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3exports Tff7b72=== Ta5d6ff"object"Tb4b4b4) Te6edf3exportsTb4b4b4[Ta5d6ff"SOXModule"Tb4b4b4] Tff7b72= Te6edf3SOXModuleTb4b4b4;
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────